using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic; using Common.Utility.CombatEvent; using Fort23.Core; using GameLogic.Combat.CombatTool; using GameLogic.Combat.Hero.State; using UnityEngine; namespace GameLogic.Combat.Hero { public class MagicWeaponIdleState : CombatHeroStateBasic { private CombatMagicWeaponEntity myCombatMagicWeaponEntity; private Vector3 startPos; private Vector3 endPos; private float _addTime; private float _currTime; private float _awaitTime; public MagicWeaponIdleState(CombatHeroEntity combatHeroEntity) : base(combatHeroEntity) { myCombatMagicWeaponEntity = combatHeroEntity as CombatMagicWeaponEntity; } protected override void ProEnter() { TimeLineEventLogicGroupBasic timeLineEventLogicGroup = combatHeroEntity.combatHeroTimeLineControl.AddEventLogicGroup("run"); _awaitTime = 1.0f; } protected override void ProUpdate(float t) { if (myCombatMagicWeaponEntity.MagicWeaponCollisionId >= 0) { MagicWeaponCollisionInfo nMagicWeaponCollisionInfo = CombatController.currActiveCombat.MagicWeaponCombatSence.FindMagicWeaponCollisionInfo( myCombatMagicWeaponEntity.MagicWeaponCollisionId); if (!nMagicWeaponCollisionInfo.a.isCombatState || !nMagicWeaponCollisionInfo.b.isCombatState) { Quaternion newQuaternion = Quaternion.identity; myCombatMagicWeaponEntity.GameObject.transform.rotation = Quaternion.RotateTowards( myCombatMagicWeaponEntity.GameObject.transform.rotation, newQuaternion, 5); } // else // { // myCombatMagicWeaponEntity.CombatAIBasic.ChangeState(CombatHeroStateType.move); // } return; } else { myCombatMagicWeaponEntity.CombatAIBasic.ChangeState(CombatHeroStateType.att); } } protected override void ProExit() { } public override bool IsUpdateLockTarget() { return false; } protected override void ProDispose() { } } }