using Common.Utility.CombatEvent; using Core.Utility; using Fort23.Core; using UnityEngine; namespace GameLogic.Combat.Hero.State { public class MagicWeaponAttState : CombatHeroStateBasic { private CombatMagicWeaponEntity myCombatMagicWeaponEntity; private BesselPath _besselPath; public MagicWeaponAttState(CombatHeroEntity combatHeroEntity) : base(combatHeroEntity) { myCombatMagicWeaponEntity = combatHeroEntity as CombatMagicWeaponEntity; } /// /// 开始攻击 /// protected override void ProEnter() { _besselPath = CObjectPool.Instance.Fetch(); myCombatMagicWeaponEntity.GameObject.transform.eulerAngles = Vector3.zero; Vector3 p1 = myCombatMagicWeaponEntity.GameObject.transform.TransformVector(new Vector3(-1.5f, 1.7f, 1)); HeroDieEventData heroDieEventData = HeroDieEventData.Create(); heroDieEventData.combatHeroEntity = myCombatMagicWeaponEntity; CombatEventManager.Instance.Dispatch(CombatEventType.MagicWeaponDie, heroDieEventData); myCombatMagicWeaponEntity.CombatAIBasic.ChangeState(CombatHeroStateType.XiuMian); } private void SetTargetPos() { } protected override void ProExit() { CObjectPool.Instance.Recycle(_besselPath); } } }