| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 | 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 CombatMiniSceneSwitchState: 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 CombatMiniSceneSwitchState(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;            InitScenes();            // 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||state==2)            {                return;            }                                          float add = 0.1f;            Vector3 pos = playerHeroEntity.dotPos;            Vector3 dir =  CombatController.currActiveCombat.CombatSenceController.moveDir;            float fx = 1;                        pos += dir.normalized * CombatController.currActiveCombat.CombatHeroController.moveSpeed * t;            playerHeroEntity.combatHeroGameObject.SetPosition(pos);            playerHeroEntity.GameObject.transform.rotation = Quaternion.LookRotation(dir * fx);            CombatController.CombatHeroController.Update(t);            CombatController.CombatCameraControllder.Update(t);            CombatController.GameTimeLineParticleFactory.CombatUpdate(t);        }        private async void InitScenes()        {            CombatController.currActiveCombat.CombatSenceController.Flight(3, -90, 10);            await TimerComponent.Instance.WaitAsync(2000);            EventManager.Instance.Dispatch(CustomEventType.ShowLoadingUI, null);            await TimerComponent.Instance.WaitAsync(2000);            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);        }    }}
 |