EatingBossAIConditional.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. using System;
  2. using BehaviorDesigner.Runtime.Tasks;
  3. public class EatingBossAIConditional
  4. {
  5. [TaskCategory("Enemy/Carlos")]
  6. [TaskDescription("召唤判定")]
  7. public class SummonJudge : Conditional
  8. {
  9. private int success
  10. {
  11. get
  12. {
  13. return (R.GameData.Difficulty > 1) ? 50 : 20;
  14. }
  15. }
  16. public override void OnAwake()
  17. {
  18. this.action = base.GetComponent<EatingBossAction>();
  19. }
  20. public override TaskStatus OnUpdate()
  21. {
  22. if (this.action.summonRate > (float)this.success)
  23. {
  24. return TaskStatus.Success;
  25. }
  26. return TaskStatus.Failure;
  27. }
  28. private EatingBossAction action;
  29. }
  30. [TaskCategory("Enemy/Carlos")]
  31. [TaskDescription("用大招")]
  32. public class UseAtk5 : Conditional
  33. {
  34. public override void OnAwake()
  35. {
  36. this.action = base.GetComponent<EatingBossAction>();
  37. this.anim = base.GetComponent<EatingBossAnimEvent>();
  38. }
  39. public override TaskStatus OnUpdate()
  40. {
  41. if (this.action.useAtk5)
  42. {
  43. this.action.useAtk5 = false;
  44. this.anim.atk5Loop = ((R.GameData.Difficulty > 1) ? 8 : 5);
  45. return TaskStatus.Success;
  46. }
  47. return TaskStatus.Failure;
  48. }
  49. private EatingBossAction action;
  50. private EatingBossAnimEvent anim;
  51. }
  52. }