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; public MagicWeaponIdleState(CombatHeroEntity combatHeroEntity) : base(combatHeroEntity) { myCombatMagicWeaponEntity = combatHeroEntity as CombatMagicWeaponEntity; } protected override void ProEnter() { } protected override void ProUpdate(float t) { CombatMagicWeaponEntity combatMagicWeaponEntity = CombatController.currActiveCombat.MagicWeaponCombatSence.FindCollidingTarget( myCombatMagicWeaponEntity); if (combatMagicWeaponEntity != null) { myCombatMagicWeaponEntity.CombatAIBasic.ChangeState(CombatHeroStateType.move); return; } Quaternion newQuaternion = Quaternion.LookRotation(Vector3.up); myCombatMagicWeaponEntity.GameObject.transform.rotation = Quaternion.RotateTowards(myCombatMagicWeaponEntity.GameObject.transform.rotation, newQuaternion, 5); } protected override void ProExit() { } public override bool IsUpdateLockTarget() { return false; } protected override void ProDispose() { } } }