using Common.Utility.CombatEvent; using Core.Utility; using Fort23.Core; using GameLogic.Combat.Skill; using UnityEngine; namespace GameLogic.Combat.Hero.State { public class MagicWeaponAttState : CombatHeroStateBasic { private CombatMagicWeaponEntity myCombatMagicWeaponEntity; public MagicWeaponAttState(CombatHeroEntity combatHeroEntity) : base(combatHeroEntity) { myCombatMagicWeaponEntity = combatHeroEntity as CombatMagicWeaponEntity; } /// /// 开始攻击 /// protected override void ProEnter() { if (myCombatMagicWeaponEntity.CombatHeroSkillControl.allSkill.Count <= 0) { Finish(); return; } SkillBasic skillBasic = myCombatMagicWeaponEntity.CombatHeroSkillControl.allSkill[0]; if (skillBasic == null) { Finish(); return; } skillBasic.SetSkillFinishCallBack(delegate(SkillBasic sb) { Finish(); }); skillBasic.UseSkill(); } private void Finish() { 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() { } } }