CombatHeroStateBasic.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. using Core.State;
  2. namespace GameLogic.Combat.Hero.State
  3. {
  4. public class CombatHeroStateBasic : IState
  5. {
  6. public CombatHeroEntity combatHeroEntity;
  7. private IStateEnterData iStateEnterData;
  8. public CombatHeroStateBasic(CombatHeroEntity combatHeroEntity)
  9. {
  10. this.combatHeroEntity = combatHeroEntity;
  11. }
  12. public void Enter(IStateEnterData iStateEnterData)
  13. {
  14. this.iStateEnterData = iStateEnterData;
  15. ProEnter();
  16. }
  17. public void Update(float t)
  18. {
  19. ProUpdate(t);
  20. }
  21. public void Exit()
  22. {
  23. ProExit();
  24. }
  25. public virtual bool IsSwitch(IState nextState)
  26. {
  27. return true;
  28. }
  29. protected virtual void ProEnter()
  30. {
  31. }
  32. protected virtual void ProUpdate(float t)
  33. {
  34. }
  35. protected virtual void ProExit()
  36. {
  37. }
  38. protected virtual void ProDispose()
  39. {
  40. }
  41. public void Dispose()
  42. {
  43. ProDispose();
  44. combatHeroEntity = null;
  45. }
  46. }
  47. }