CombatHeroStateBasic.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. using Core.State;
  2. namespace GameLogic.Combat.Hero.State
  3. {
  4. public class CombatHeroStateBasic : IState
  5. {
  6. public CombatHeroEntity combatHeroEntity;
  7. protected 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 virtual bool IsUpdateLockTarget()
  42. {
  43. return true;
  44. }
  45. public void Dispose()
  46. {
  47. ProDispose();
  48. combatHeroEntity = null;
  49. }
  50. }
  51. }