using Core.State; namespace GameLogic.Combat.Hero.State { public class CombatHeroStateBasic : IState { public CombatHeroEntity combatHeroEntity; protected IStateEnterData iStateEnterData; public CombatHeroStateBasic(CombatHeroEntity combatHeroEntity) { this.combatHeroEntity = combatHeroEntity; } public void Enter(IStateEnterData iStateEnterData) { this.iStateEnterData = iStateEnterData; ProEnter(); } public void Update(float t) { ProUpdate(t); } public void Exit() { ProExit(); } public virtual bool IsSwitch(IState nextState) { return true; } protected virtual void ProEnter() { } protected virtual void ProUpdate(float t) { } protected virtual void ProExit() { } protected virtual void ProDispose() { } public virtual bool IsUpdateLockTarget() { return true; } public void Dispose() { ProDispose(); combatHeroEntity = null; } } }