| 
					
				 | 
			
			
				@@ -1,4 +1,5 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using Core.Utility; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 using UnityEngine; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventLogic; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -18,6 +19,10 @@ namespace GameLogic.Combat.Skill.MagicSkill 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         protected bool isUpdateMove; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         protected float showSizeTime; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        protected int state; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private BesselPath _besselPathA; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         protected override void ProInit() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -25,9 +30,39 @@ namespace GameLogic.Combat.Skill.MagicSkill 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         protected override void ProSetInfo() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             isUpdateMove = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            TimeLineEventLogicGroupBasic timeLineEventLogicGroupBasic = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                _skillBasic.ActivationTimeLineData("sk1_xiaoshi"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            timeLineEventLogicGroupBasic.TimeLineUpdateEnd = XiaoShiFinish; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            int odds = UnityEngine.Random.Range(0, 100); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // if (odds < 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                state = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                TimeLineEventLogicGroupBasic timeLineEventLogicGroupBasic = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    _skillBasic.ActivationTimeLineData("sk1_xiaoshi"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                timeLineEventLogicGroupBasic.TimeLineUpdateEnd = XiaoShiFinish; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     state = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     // Vector3 p1 = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     //     _skillBasic.CombatHeroEntity.GameObject.transform.TransformPoint(new Vector3(-5f, 5f, 5f)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     // Vector3 p2 = SetTargetPos2(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     // _besselPathA.controlPoints.Add(_skillBasic.CombatHeroEntity.GameObject.transform.position); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     // _besselPathA.controlPoints.Add(p1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     // _besselPathA.controlPoints.Add(p2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     // _besselPathA.controlPoints.Add(target.dotPos); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     _besselPathA = new BesselPath(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     _besselPathA.controlPoints.Add(CombatHeroEntity.dotPos); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     _besselPathA.controlPoints.Add( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //         CombatHeroEntity.GameObject.transform.TransformPoint(new Vector3(-5f, 5f, 5f))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     _besselPathA.controlPoints.Add(target.GameObject.transform.TransformPoint(new Vector3(-5f, 6f, 5f))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     Vector3 headPos = target.dotPos + new Vector3(0, 5, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     _besselPathA.controlPoints.Add(headPos); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     currTime = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //     isUpdateMove = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private void XiaoShiFinish() 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -81,6 +116,7 @@ namespace GameLogic.Combat.Skill.MagicSkill 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 targetPos = target.dotPos; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 currTime = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 isUpdateMove = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                state = 3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -99,15 +135,35 @@ namespace GameLogic.Combat.Skill.MagicSkill 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            currTime += t * moveSpeed; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            // Vector3 size = Vector3.Lerp(currSize, targetSize, currTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Vector3 pos = Vector3.Lerp(currPos, targetPos, currTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            CombatHeroEntity.combatHeroGameObject.SetPosition(pos); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            // CombatHeroEntity.combatHeroGameObject.SetScale(size); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (currTime > 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (state == 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                isUpdateMove = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                AllFinish(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                currTime += t * 0.5f; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Vector3 a1 = _besselPathA.CalculatePoint(currTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Vector3 a2 = _besselPathA.CalculatePoint(currTime - 0.01f); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                CombatHeroEntity.combatHeroGameObject.SetPosition(a1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                CombatHeroEntity.GameObject.transform.rotation = Quaternion.LookRotation((a1 - a2).normalized); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (currTime > 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    isUpdateMove = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    CombatHeroEntity.combatHeroGameObject.SetScale(new Vector3(3, 3, 3)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    CombatHeroEntity.GameObject.transform.eulerAngles = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        new Vector3(0, target.GameObject.transform.eulerAngles.y + 180, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ShowFinish(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            else   if (state == 3) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                currTime += t * moveSpeed; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // Vector3 size = Vector3.Lerp(currSize, targetSize, currTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Vector3 pos = Vector3.Lerp(currPos, targetPos, currTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                CombatHeroEntity.combatHeroGameObject.SetPosition(pos); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // CombatHeroEntity.combatHeroGameObject.SetScale(size); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (currTime > 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    isUpdateMove = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    AllFinish(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 |