| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 | using Fort23.UTool;using GameLogic.Combat.Skill;namespace GameLogic.Combat.Hero.State{    public class CombatHeroAttState : CombatHeroStateBasic    {        protected SkillBasic skillBasic;        public CombatHeroAttState(CombatHeroEntity combatHeroEntity) : base(combatHeroEntity)        {        }        public override bool IsUpdateLockTarget()        {            return false;        }        protected override void ProEnter()        {            skillBasic = combatHeroEntity.CombatHeroSkillControl.This<CombatHeroSkillControl>().CanReleaseSkill();            if (skillBasic == null)            {                combatHeroEntity.CombatAIBasic.ChangeState(CombatHeroStateType.idle);                return;            }            skillBasic.SetSkillFinishCallBack(delegate(SkillBasic sb)            {                if (sb == skillBasic)                {                    combatHeroEntity.CombatHeroSkillControl.This<CombatHeroSkillControl>().UseSkillFinish(skillBasic);                    skillBasic = null;                    combatHeroEntity.CombatAIBasic.ChangeState(CombatHeroStateType.idle);                }                else                {                    LogTool.Log("其他技能结束");                }            });            combatHeroEntity.CombatHeroSkillControl.This<CombatHeroSkillControl>().RemoveCommandSkill(skillBasic);            combatHeroEntity.CombatHeroSkillControl.This<CombatHeroSkillControl>().UseSkill(skillBasic);        }        protected override void ProExit()        {            if (skillBasic != null)            {                skillBasic.BreakSkill();                // combatHeroEntity.CombatHeroSkillControl.This<CombatHeroSkillControl>().UseSkillFinish(skillBasic);            }            combatHeroEntity.CombatHeroSkillControl.This<CombatHeroSkillControl>().currUseSkill = null;            skillBasic = null;        }    }}
 |