CombatHeroFollowIdleState.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using GameLogic.Combat.CombatTool;
  2. using UnityEngine;
  3. namespace GameLogic.Combat.Hero.State
  4. {
  5. public class CombatHeroFollowIdleState : CombatHeroStateBasic
  6. {
  7. public CombatHeroFollowIdleState(CombatHeroEntity combatHeroEntity) : base(combatHeroEntity)
  8. {
  9. }
  10. protected override void ProEnter()
  11. {
  12. combatHeroEntity.combatHeroAnimtion.Play("idle");
  13. }
  14. protected override void ProUpdate(float t)
  15. {
  16. Vector3 targetPos = CombatController.currActiveCombat.CombatHeroController.GetFollowPos(combatHeroEntity);
  17. Vector3 myPos = combatHeroEntity.dotPos;
  18. if (Vector3.SqrMagnitude(targetPos - myPos) > 0.5f)
  19. {
  20. combatHeroEntity.CombatAIBasic.ChangeState(CombatHeroStateType.followMove);
  21. }
  22. // else
  23. // {
  24. // GameObject[] b = combatHeroEntity.CombatAIBasic.AreaList;
  25. // if (b != null && b.Length > 0)
  26. // {
  27. // combatHeroEntity.CombatAIBasic.ChangeState(CombatHeroStateType.rolling);
  28. // }
  29. // else
  30. // {
  31. // if (combatHeroEntity.CombatHeroSkillControl.CanReleaseSkill() != null)
  32. // {
  33. // combatHeroEntity.CombatAIBasic.ChangeState(CombatHeroStateType.att);
  34. // }
  35. // }
  36. // }
  37. }
  38. }
  39. }