CombatHeroAttState.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using GameLogic.Combat.Skill;
  2. namespace GameLogic.Combat.Hero.State
  3. {
  4. public class CombatHeroAttState : CombatHeroStateBasic
  5. {
  6. protected SkillBasic skillBasic;
  7. public CombatHeroAttState(CombatHeroEntity combatHeroEntity) : base(combatHeroEntity)
  8. {
  9. }
  10. protected override void ProEnter()
  11. {
  12. skillBasic = combatHeroEntity.CombatHeroSkillControl.CanReleaseSkill();
  13. if (skillBasic == null)
  14. {
  15. return;
  16. }
  17. skillBasic.SetSkillFinishCallBack(delegate
  18. {
  19. skillBasic = null;
  20. combatHeroEntity.CombatAIBasic.ChangeState(CombatHeroStateType.idle);
  21. });
  22. combatHeroEntity.CombatHeroSkillControl.RemoveCommandSkill(skillBasic);
  23. combatHeroEntity.CombatHeroSkillControl.UseSkill(skillBasic);
  24. }
  25. protected override void ProExit()
  26. {
  27. if (skillBasic != null)
  28. {
  29. skillBasic.BreakSkill();
  30. }
  31. combatHeroEntity.CombatHeroSkillControl.currUseSkill = null;
  32. skillBasic = null;
  33. }
  34. }
  35. }