using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic; using GameLogic.Combat.CombatTool; namespace GameLogic.Combat.Hero.State { public class CombatHeroDieState : CombatHeroStateBasic { public CombatHeroDieState(CombatHeroEntity combatHeroEntity) : base(combatHeroEntity) { } protected override void ProEnter() { TimeLineEventLogicGroupBasic timeLineEventLogicGroup = combatHeroEntity.combatHeroTimeLineControl.TimeLineData .GetTimeLineEventLogicGroup("die", null); if (timeLineEventLogicGroup != null) { timeLineEventLogicGroup.SetCombatInfo(combatHeroEntity, null, null, new TriggerData(), null); timeLineEventLogicGroup.TimeLineUpdateEnd = delegate { CombatController.currActiveCombat.CombatHeroController.RemoveDieHero(combatHeroEntity); }; combatHeroEntity.combatHeroTimeLineControl.AddEventLogicGroup(timeLineEventLogicGroup); } else { CombatController.currActiveCombat.CombatHeroController.RemoveDieHero(combatHeroEntity); } // combatHeroEntity.Dispose(); } } }