CombatHeroAttState.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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. public override bool IsUpdateLockTarget()
  11. {
  12. return false;
  13. }
  14. protected override void ProEnter()
  15. {
  16. skillBasic = combatHeroEntity.CombatHeroSkillControl.CanReleaseSkill();
  17. if (skillBasic == null)
  18. {
  19. return;
  20. }
  21. skillBasic.SetSkillFinishCallBack(delegate
  22. {
  23. skillBasic = null;
  24. combatHeroEntity.CombatAIBasic.ChangeState(CombatHeroStateType.idle);
  25. });
  26. combatHeroEntity.CombatHeroSkillControl.RemoveCommandSkill(skillBasic);
  27. combatHeroEntity.CombatHeroSkillControl.UseSkill(skillBasic);
  28. }
  29. protected override void ProExit()
  30. {
  31. if (skillBasic != null)
  32. {
  33. skillBasic.BreakSkill();
  34. }
  35. combatHeroEntity.CombatHeroSkillControl.currUseSkill = null;
  36. skillBasic = null;
  37. }
  38. }
  39. }