diff options
author | chai <chaifix@163.com> | 2021-01-27 16:15:06 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2021-01-27 16:15:06 +0800 |
commit | 97da432c35b8c7aaf9dd2c39e2aa4b1f55f36065 (patch) | |
tree | d9b1db5908a3a030c529e230386fe01062923b09 /Client/Assets/Behavior Designer/AI/Conditionals/XAIConditionValue.cs | |
parent | 1fe4ffba72f56ccc6a89d1896142425c666887d4 (diff) |
+behaviour designer
Diffstat (limited to 'Client/Assets/Behavior Designer/AI/Conditionals/XAIConditionValue.cs')
-rw-r--r-- | Client/Assets/Behavior Designer/AI/Conditionals/XAIConditionValue.cs | 216 |
1 files changed, 216 insertions, 0 deletions
diff --git a/Client/Assets/Behavior Designer/AI/Conditionals/XAIConditionValue.cs b/Client/Assets/Behavior Designer/AI/Conditionals/XAIConditionValue.cs new file mode 100644 index 00000000..6d998a81 --- /dev/null +++ b/Client/Assets/Behavior Designer/AI/Conditionals/XAIConditionValue.cs @@ -0,0 +1,216 @@ +using UnityEngine;
+using BehaviorDesigner.Runtime.Tasks;
+using BehaviorDesigner.Runtime;
+using XUtliPoolLib;
+
+public class ValueHP : Conditional
+{
+ public int mAIArgMaxPercent;
+ public int mAIArgMinPercent;
+
+ public override TaskStatus OnUpdate()
+ {
+ if (AIMgrUtil.GetAIMgrInterface().IsHPValue(transform, mAIArgMinPercent, mAIArgMaxPercent))
+ return TaskStatus.Success;
+ else
+ return TaskStatus.Failure;
+ }
+}
+
+public class ValueMP : Conditional
+{
+ public int mAIArgMaxPercent;
+ public int mAIArgMinPercent;
+
+ public override TaskStatus OnUpdate()
+ {
+ if (AIMgrUtil.GetAIMgrInterface().IsMPValue(transform, mAIArgMinPercent, mAIArgMaxPercent))
+ return TaskStatus.Success;
+ else
+ return TaskStatus.Failure;
+ }
+}
+
+public class ValueFP : Conditional
+{
+ public int mAIArgMaxFP;
+ public int mAIArgMinFP;
+
+ public override TaskStatus OnUpdate()
+ {
+ return TaskStatus.Success;
+ }
+}
+
+public class ValueTarget : Conditional
+{
+ public SharedTransform mAIArgTarget;
+
+ public override TaskStatus OnUpdate()
+ {
+ if (AIMgrUtil.GetAIMgrInterface().IsValid(mAIArgTarget.Value))
+ return TaskStatus.Success;
+ else
+ {
+ AIMgrUtil.GetAIMgrInterface().ClearTarget(transform);
+ return TaskStatus.Failure;
+ }
+ }
+}
+
+public class ValueDistance : Conditional
+{
+ public SharedTransform mAIArgTarget;
+ public SharedFloat mAIArgMaxDistance;
+
+ public override TaskStatus OnUpdate()
+ {
+ if (mAIArgTarget.Value == null)
+ return TaskStatus.Failure;
+
+ if ((transform.position - mAIArgTarget.Value.position).magnitude <= mAIArgMaxDistance.Value)
+ return TaskStatus.Success;
+ else
+ return TaskStatus.Failure;
+ }
+}
+
+public class IsOppoCastingSkill : Conditional
+{
+ public override TaskStatus OnUpdate()
+ {
+ if (AIMgrUtil.GetAIMgrInterface().IsOppoCastingSkill(transform))
+ return TaskStatus.Success;
+ else
+ return TaskStatus.Failure;
+ }
+}
+
+public class IsHurtOppo : Conditional
+{
+ public override TaskStatus OnUpdate()
+ {
+ if (AIMgrUtil.GetAIMgrInterface().IsHurtOppo(transform))
+ return TaskStatus.Success;
+ else
+ return TaskStatus.Failure;
+ }
+}
+
+public class IsFixedInCd : Conditional
+{
+ public override TaskStatus OnUpdate()
+ {
+ if (AIMgrUtil.GetAIMgrInterface().IsFixedInCd(transform))
+ return TaskStatus.Success;
+ else
+ return TaskStatus.Failure;
+ }
+}
+
+public class IsWander : Conditional
+{
+ public override TaskStatus OnUpdate()
+ {
+ if (AIMgrUtil.GetAIMgrInterface().IsWander(transform))
+ return TaskStatus.Success;
+ else
+ return TaskStatus.Failure;
+ }
+}
+
+public class IsCastingSkill : Conditional
+{
+ public override TaskStatus OnUpdate()
+ {
+ if (AIMgrUtil.GetAIMgrInterface().IsCastSkill(transform.gameObject))
+ return TaskStatus.Success;
+ else
+ return TaskStatus.Failure;
+ }
+}
+
+public class IsFighting : Conditional
+{
+ public override TaskStatus OnUpdate()
+ {
+ if (AIMgrUtil.GetAIMgrInterface().IsFighting(transform))
+ return TaskStatus.Success;
+ else
+ {
+ AIMgrUtil.GetAIMgrInterface().ClearTarget(transform);
+ return TaskStatus.Failure;
+ }
+ }
+}
+
+public class IsSkillChoosed : Conditional
+{
+ public override TaskStatus OnUpdate()
+ {
+ if (AIMgrUtil.GetAIMgrInterface().IsSkillChoosed(transform))
+ return TaskStatus.Success;
+ else
+ return TaskStatus.Failure;
+ }
+}
+
+public class ConditionDist : Conditional
+{
+ public SharedTransform mAIArgTarget;
+ public SharedFloat mAIArgUpper;
+ public SharedFloat mAIArgLower;
+
+ public override TaskStatus OnUpdate()
+ {
+ if (mAIArgTarget.Value == null)
+ return TaskStatus.Failure;
+
+ float dist = (mAIArgTarget.Value.position - transform.position).magnitude;
+
+ if (dist >= mAIArgLower.Value && dist <= mAIArgUpper.Value)
+ return TaskStatus.Success;
+ else
+ return TaskStatus.Failure;
+ }
+}
+
+public class ConditionMonsterNum : Conditional
+{
+ public SharedInt mAIArgNum;
+ public int mAIArgMonsterId;
+
+ public override TaskStatus OnUpdate()
+ {
+ return TaskStatus.Success;
+ }
+}
+
+public class ConditionPlayerNum : Conditional
+{
+
+ public int mAIArgPlayerBaseProf;
+ public int mAIArgPlayerDetailProf;
+ public int mAIArgWay;
+ public Vector3 mAIArgCenter;
+ public float mAIArgRadius;
+ public SharedInt mAIArgNum;
+
+ public override TaskStatus OnUpdate()
+ {
+ int playerprof = AIMgrUtil.GetAIMgrInterface().GetPlayerProf();
+
+ if (mAIArgPlayerBaseProf == 0 && mAIArgPlayerDetailProf == 0)
+ mAIArgNum.Value = 1;
+ else
+ {
+ if (mAIArgPlayerBaseProf != 0 && playerprof % 10 == mAIArgPlayerBaseProf)
+ mAIArgNum.Value = 1;
+
+ if (mAIArgPlayerDetailProf != 0 && playerprof == mAIArgPlayerDetailProf)
+ mAIArgNum.Value = 1;
+ }
+
+ return TaskStatus.Success;
+ }
+}
\ No newline at end of file |