FightIdleSubState.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using UnityEngine;
  2. namespace GameLogic.Combat.Hero.SubStatus
  3. {
  4. /// <summary>
  5. /// 战斗待机状态
  6. /// </summary>
  7. public class FightIdleSubState : SubStatusBasic
  8. {
  9. private Vector3 initPos;
  10. protected Vector3 targetPos;
  11. private Vector3 startPos;
  12. private float moveSpped = 1;
  13. private float addTime;
  14. private float allTime;
  15. private float allTimeX;
  16. protected override void ProInit()
  17. {
  18. initPos = CombatHeroEntity.dotPos;
  19. allTimeX=Mathf.PI / 2;
  20. allTime = 0;
  21. }
  22. protected override void ProDispose()
  23. {
  24. }
  25. protected override void ProUpdate(float t)
  26. {
  27. allTime += t * 2f;
  28. allTimeX += t * 1f;
  29. Vector3 p = Vector3.Lerp(startPos, targetPos, allTime);
  30. float y = Mathf.Sin(allTime) * (CombatHeroEntity.IsEnemy ? 0.1f : -0.1f);
  31. float x = Mathf.Cos(allTimeX) * (CombatHeroEntity.IsEnemy ? 0.8f : -0.8f);
  32. p = initPos + new Vector3(x, y, 0);
  33. CombatHeroEntity.combatHeroGameObject.SetPosition(p);
  34. }
  35. }
  36. }