| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 | 
							- using Excel2Json;
 
- using Fort23.Core;
 
- using Fort23.UTool;
 
- using GameLogic.Combat.CombatTool;
 
- using GameLogic.Combat.Hero;
 
- using UnityEngine;
 
- using Utility.UITool;
 
- namespace GameLogic.Combat.CombatState
 
- {
 
-     public class CombatSceneSwitchState : CombatStateBasic
 
-     {
 
-         private Vector3 dir;
 
-         private Vector3 moveTargetDir;
 
-         private float currTime;
 
-         private int state;
 
-         private Vector3 startPos;
 
-         private Vector3 startEulerAngles;
 
-         private float speed=0.5f;
 
-         private float feiXingCurTime;
 
-         public CombatSceneSwitchState(CombatController combatController) : base(combatController)
 
-         {
 
-         }
 
-         protected override void ProEnter()
 
-         {
 
-             CombatController.CombatCameraControllder.isStop = true;
 
-             CombatController.IsFightState = false;
 
-             CombatController.GameTimeLineParticleFactory.RecycleAllFxAiLogicBasic();
 
-             CombatHeroEntity playerHeroEntity = CombatController.currActiveCombat.playerHeroEntity;
 
-             if (playerHeroEntity != null)
 
-             {
 
-                 playerHeroEntity.PlayAnim(CombatHeroStateType.idle, true, 0, false, 1);
 
-                 CombatController.MagicWeaponCombatSence.CloseSecene();
 
-             }
 
-             startPos = playerHeroEntity.GameObject.transform.position;
 
-             startEulerAngles = playerHeroEntity.GameObject.transform.rotation.eulerAngles;
 
-             // CombatHeroEntity playerHeroEntity = CombatController.currActiveCombat.playerHeroEntity;
 
-             Vector3 target = playerHeroEntity.GameObject.transform.TransformPoint(new Vector3(2, 2, 1));
 
-             moveTargetDir = (target - playerHeroEntity.GameObject.transform.forward).normalized;
 
-             dir = playerHeroEntity.GameObject.transform.forward;
 
-             currTime = 0;
 
-             state = 0;
 
-             feiXingCurTime = 0;
 
-         }
 
-         protected override void ProUpdate(float t)
 
-         {
 
-             CombatHeroEntity playerHeroEntity = CombatController.currActiveCombat.playerHeroEntity;
 
-             if (playerHeroEntity == null)
 
-             {
 
-                 return;
 
-             }
 
-             currTime += t;
 
-             if (currTime > 2 && state == 0)
 
-             {
 
-                 state = 1;
 
-                 EventManager.Instance.Dispatch(CustomEventType.ShowLoadingUI, null);
 
-                 InitScenes();
 
-                 currTime = 0;
 
-             }
 
-             if (state == 2)
 
-             {
 
-                 return;
 
-             }
 
-             feiXingCurTime += t * speed;
 
-             float dirT = AnimationCurveManager.Instance.AnimationCurveLibrary.switchSceneCurve.Evaluate(feiXingCurTime);
 
-             Vector3 pos = playerHeroEntity.dotPos;
 
-             Vector3 currDir = Vector3.Lerp(dir, moveTargetDir, dirT);
 
-             pos += currDir.normalized * 15 * t;
 
-             playerHeroEntity.combatHeroGameObject.SetPosition(pos);
 
-             playerHeroEntity.GameObject.transform.rotation =
 
-                 Quaternion.LookRotation(new Vector3(currDir.x, 0, currDir.z).normalized);
 
-         }
 
-         private async void InitScenes()
 
-         {
 
-             await TimerComponent.Instance.WaitAsync(2600);
 
-             state = 2;
 
-             CombatHeroEntity playerHeroEntity = CombatController.currActiveCombat.playerHeroEntity;
 
-             playerHeroEntity.GameObject.transform.position = startPos;
 
-             playerHeroEntity.GameObject.transform.rotation = Quaternion.Euler(startEulerAngles);
 
-             SmallPlacesConfig smallPlacesConfig =
 
-                 ConfigComponent.Instance.Get<SmallPlacesConfig>(PlayerManager.Instance.CurrentsmallPlaces.id);
 
-             await CombatController.CombatSenceController.InitScenes(smallPlacesConfig.scencName);
 
-             EventManager.Instance.Dispatch(CustomEventType.CloseLoadingUI, null);
 
-             CombatController.CombatCameraControllder.isStop = false;
 
-             CombatController.ChangeState(CombatController.fight);
 
-         }
 
-     }
 
- }
 
 
  |