123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- using System;
- using BehaviorDesigner.Runtime.Tasks;
- public class JudgesAIConditional
- {
- [TaskCategory("Enemy/Judges")]
- [TaskDescription("判断攻击类型")]
- public class AttackTypeJudge : Conditional
- {
- public override void OnAwake()
- {
- this.action = base.GetComponent<JudgesAction>();
- }
- public override TaskStatus OnUpdate()
- {
- if (this.action.attackType == this.type)
- {
- return TaskStatus.Success;
- }
- return TaskStatus.Failure;
- }
- public JudgesAction.AttackType type;
- private JudgesAction action;
- }
- [TaskCategory("Enemy/Judges")]
- [TaskDescription("判断怪物在最终阶段")]
- public class JudgesPhaseJudge : Conditional
- {
- public override void OnAwake()
- {
- this.hurt = base.GetComponent<JudgesHurt>();
- }
- public override TaskStatus OnUpdate()
- {
- if (this.hurt.currentPhase == 4)
- {
- return TaskStatus.Success;
- }
- return TaskStatus.Failure;
- }
- private JudgesHurt hurt;
- }
- [TaskCategory("Enemy/Judges")]
- [TaskDescription("召唤判定")]
- public class SummonJudge : Conditional
- {
- private int success
- {
- get
- {
- return (R.GameData.Difficulty > 1) ? 30 : 40;
- }
- }
- public override void OnAwake()
- {
- this.action = base.GetComponent<JudgesAction>();
- }
- public override TaskStatus OnUpdate()
- {
- if (this.action.summonRate > (float)this.success)
- {
- return TaskStatus.Success;
- }
- return TaskStatus.Failure;
- }
- private JudgesAction action;
- }
- }
|