FooterAIAction.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. using System;
  2. using BehaviorDesigner.Runtime.Tasks;
  3. using UnityEngine;
  4. public class FooterAIAction
  5. {
  6. [TaskCategory("Enemy/Footer")]
  7. [TaskDescription("大脚跳跃")]
  8. public class FooterJump : BehaviorDesigner.Runtime.Tasks.Action
  9. {
  10. private Transform player
  11. {
  12. get
  13. {
  14. return R.Player.Transform;
  15. }
  16. }
  17. public override void OnAwake()
  18. {
  19. this.action = base.GetComponent<FooterAction>();
  20. }
  21. public override void OnStart()
  22. {
  23. this.action.FaceToPlayer();
  24. if (this.back)
  25. {
  26. this.action.SideStep();
  27. }
  28. else
  29. {
  30. this.action.Jump();
  31. }
  32. }
  33. public override TaskStatus OnUpdate()
  34. {
  35. FooterAction.StateEnum stateEnum = EnumTools.ToEnum<FooterAction.StateEnum>(this.action.stateMachine.currentState, false);
  36. if (stateEnum == FooterAction.StateEnum.Jump || stateEnum == FooterAction.StateEnum.MoveAway)
  37. {
  38. return TaskStatus.Running;
  39. }
  40. return TaskStatus.Success;
  41. }
  42. public bool back;
  43. private float moveDis;
  44. private float aimPos;
  45. private FooterAction action;
  46. }
  47. }