ESpirits_Assassin.cs 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. public enum AssassinState
  5. {
  6. None = -1,
  7. Normal = 0, //正常状态
  8. FindPlayer = 1, //寻找主角位置
  9. Rushing = 2, //向主角方向冲刺中
  10. }
  11. public class ESpirits_Assassin : MonoBehaviour
  12. {
  13. public float time = 5;
  14. public float attackCD;
  15. public AssassinState state;
  16. public Enemy enemy;
  17. /*
  18. private void Update()
  19. {
  20. if (enemy.floatState == 0)
  21. {
  22. OnState();
  23. }
  24. switch (enemy.state)
  25. {
  26. case CharacterState.Die:
  27. this.enabled = false;
  28. break;
  29. case CharacterState.FinishRush:
  30. state = AssassinState.Normal;
  31. time = 0;
  32. break;
  33. default:
  34. break;
  35. }
  36. }
  37. public void OnState()
  38. {
  39. switch (state)
  40. {
  41. case AssassinState.Normal:
  42. time += Time.deltaTime;
  43. if (time > attackCD)
  44. {
  45. time = 0;
  46. enemy.ChangeState(CharacterState.FindPlayer);
  47. state = AssassinState.FindPlayer;
  48. }
  49. break;
  50. case AssassinState.FindPlayer:
  51. if(enemy.state == CharacterState.Idle)
  52. {
  53. enemy.ChangeState(CharacterState.FindPlayer);
  54. }
  55. if (enemy.isFindPlayer)
  56. {
  57. enemy.ChangeState(CharacterState.ReadyToRush);
  58. state = AssassinState.Rushing;
  59. }
  60. break;
  61. case AssassinState.Rushing:
  62. if(enemy.state == CharacterState.FindPlayer)
  63. {
  64. enemy.ChangeState(CharacterState.ReadyToRush);
  65. }
  66. break;
  67. default:
  68. break;
  69. }
  70. }
  71. */
  72. }