| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;using GameLogic.Combat.CombatTool;namespace GameLogic.Combat.Hero.State{    public class CombatHeroDisappearState : CombatHeroStateBasic    {           protected bool isSwitch = false;        private TimeLineEventLogicGroupBasic _timeLineEventLogicGroupBasic;        public CombatHeroDisappearState(CombatHeroEntity combatHeroEntity) : base(combatHeroEntity)        {        }        public override bool IsSwitch(IState nextState)        {            return isSwitch;        }        protected override void ProEnter()        {            isSwitch = false;            HarmReturnInfo harmReturnInfo = new HarmReturnInfo();            harmReturnInfo.harmType = HarmType.SystemKo;            combatHeroEntity.HeroDie(harmReturnInfo);            TimeLineEventLogicGroupBasic timeLineEventLogicGroup =                combatHeroEntity.combatHeroTimeLineControl.AddEventLogicGroup("xiaoshi");            if (timeLineEventLogicGroup != null)            {                timeLineEventLogicGroup.TimeLineUpdateEnd = delegate                {                    CombatController.currActiveCombat.CombatHeroController.RemoveDieHero(combatHeroEntity);                };            }            else            {                               CombatController.currActiveCombat.CombatHeroController.RemoveDieHero(combatHeroEntity);            }            // combatHeroEntity.Dispose();        }        protected override void ProExit()        {            _timeLineEventLogicGroupBasic?.BreakTimeLine(combatHeroEntity);        }    }}
 |