1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
- using GameLogic.Combat.CombatTool;
- namespace GameLogic.Combat.Hero.State
- {
- public class CombatHeroDieState : CombatHeroStateBasic
- {
- public float resurrectionTime;
- protected bool isStartResurrection;
- protected bool isSwitch = false;
- private TimeLineEventLogicGroupBasic _timeLineEventLogicGroupBasic;
- public CombatHeroDieState(CombatHeroEntity combatHeroEntity) : base(combatHeroEntity)
- {
- }
- public override bool IsSwitch(IState nextState)
- {
- return isSwitch;
- }
- protected override void ProEnter()
- {
- isSwitch = false;
- resurrectionTime = 0;
- TimeLineEventLogicGroupBasic timeLineEventLogicGroup =
- combatHeroEntity.combatHeroTimeLineControl.AddEventLogicGroup("die");
- if (timeLineEventLogicGroup != null)
- {
- timeLineEventLogicGroup.TimeLineUpdateEnd = delegate
- {
- if (combatHeroEntity.IsEnemy)
- {
- CombatController.currActiveCombat.CombatHeroController.RemoveDieHero(combatHeroEntity);
- }
- else
- {
- isStartResurrection = true;
- _timeLineEventLogicGroupBasic =
- combatHeroEntity.combatHeroTimeLineControl.AddEventLogicGroup("die_idle");
- }
- };
- }
- else
- {
- if (combatHeroEntity.IsEnemy)
- {
- CombatController.currActiveCombat.CombatHeroController.RemoveDieHero(combatHeroEntity);
- }
- else
- {
- isStartResurrection = true;
- _timeLineEventLogicGroupBasic =
- combatHeroEntity.combatHeroTimeLineControl.AddEventLogicGroup("die_idle");
- }
- }
- // combatHeroEntity.Dispose();
- }
- protected override void ProExit()
- {
- _timeLineEventLogicGroupBasic?.BreakTimeLine(combatHeroEntity);
- }
- protected override void ProUpdate(float t)
- {
- if (isStartResurrection)
- {
- resurrectionTime += t;
- if (resurrectionTime > 60)
- {
- isSwitch = true;
- isStartResurrection = false;
- resurrectionTime = 0;
- combatHeroEntity.CombatAIBasic.ChangeState(CombatHeroStateType.Resurrection);
- }
- }
- }
- }
- }
|