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);
- }
- }
- }
|