summaryrefslogtreecommitdiff
path: root/Client/Assets/Behavior Designer/AI/Actions/XAIActionTarget.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Client/Assets/Behavior Designer/AI/Actions/XAIActionTarget.cs')
-rw-r--r--Client/Assets/Behavior Designer/AI/Actions/XAIActionTarget.cs236
1 files changed, 236 insertions, 0 deletions
diff --git a/Client/Assets/Behavior Designer/AI/Actions/XAIActionTarget.cs b/Client/Assets/Behavior Designer/AI/Actions/XAIActionTarget.cs
new file mode 100644
index 00000000..67baf939
--- /dev/null
+++ b/Client/Assets/Behavior Designer/AI/Actions/XAIActionTarget.cs
@@ -0,0 +1,236 @@
+using UnityEngine;
+using System.Collections.Generic;
+using BehaviorDesigner.Runtime;
+using BehaviorDesigner.Runtime.Tasks;
+
+public class FindTargetByDistance : Action
+{
+ public SharedFloat mAIArgDistance;
+ public bool mAIArgFilterImmortal;
+ public float mAIArgAngle;
+ public float mAIArgDelta;
+ public int mAIArgTargetType;
+ public override TaskStatus OnUpdate()
+ {
+ if (AIMgrUtil.GetAIMgrInterface().FindTargetByDistance(transform.gameObject, mAIArgDistance.Value, mAIArgFilterImmortal, mAIArgAngle, mAIArgDelta, mAIArgTargetType))
+ return TaskStatus.Success;
+ else
+ return TaskStatus.Failure;
+ }
+}
+
+public class FindTargetByHitLevel : Action
+{
+ //public SharedFloat mAIArgDistance;
+ public bool mAIArgFilterImmortal;
+ public override TaskStatus OnUpdate()
+ {
+ if (AIMgrUtil.GetAIMgrInterface().FindTargetByHitLevel(transform.gameObject, mAIArgFilterImmortal))
+ return TaskStatus.Success;
+ else
+ return TaskStatus.Failure;
+ }
+}
+
+public class FindTargetByNonImmortal : Action
+{
+ public override TaskStatus OnUpdate()
+ {
+ if (AIMgrUtil.GetAIMgrInterface().FindTargetByNonImmortal(transform.gameObject))
+ return TaskStatus.Success;
+ else
+ return TaskStatus.Failure;
+ }
+}
+
+public class TargetByHatredList : Action
+{
+ public SharedFloat mAIArgDistance;
+ public bool mAIArgFilterImmortal;
+ public override TaskStatus OnUpdate()
+ {
+ if (AIMgrUtil.GetAIMgrInterface().FindTargetByHartedList(transform.gameObject, mAIArgFilterImmortal))
+ return TaskStatus.Success;
+ else
+ return TaskStatus.Failure;
+ }
+}
+
+public class DoSelectByUID : Action
+{
+ public SharedString mAIArgUID;
+}
+
+public class DoSelectRoleByIndex : Action
+{
+ public SharedInt mAIArgIndex;
+}
+
+public class FindNavPath : Action
+{
+ public override TaskStatus OnUpdate()
+ {
+ if (AIMgrUtil.GetAIMgrInterface().FindNavPath(transform.gameObject))
+ return TaskStatus.Success;
+ else
+ return TaskStatus.Failure;
+ }
+}
+
+public class ResetTargets : Action
+{
+ public override TaskStatus OnUpdate()
+ {
+ if (AIMgrUtil.GetAIMgrInterface().ResetTargets(transform.gameObject))
+ return TaskStatus.Success;
+ else
+ return TaskStatus.Failure;
+ }
+}
+
+public class DoSelectNearest : Action
+{
+ public override TaskStatus OnUpdate()
+ {
+ if (AIMgrUtil.GetAIMgrInterface().DoSelectNearest(transform.gameObject))
+ return TaskStatus.Success;
+ else
+ return TaskStatus.Failure;
+ }
+}
+
+
+public class DoSelectFarthest : Action
+{
+ public override TaskStatus OnUpdate()
+ {
+ if (AIMgrUtil.GetAIMgrInterface().DoSelectFarthest(transform.gameObject))
+ return TaskStatus.Success;
+ else
+ return TaskStatus.Failure;
+ }
+}
+
+public class DoSelectRandomTarget : Action
+{
+ public override TaskStatus OnUpdate()
+ {
+ if (AIMgrUtil.GetAIMgrInterface().DoSelectRandomTarget(transform.gameObject))
+ return TaskStatus.Success;
+ else
+ return TaskStatus.Failure;
+ }
+}
+
+public class CalDistance : Action
+{
+ public SharedTransform mAIArgObject;
+ public SharedFloat mAIArgDistance;
+ public SharedVector3 mAIArgDestPoint;
+
+
+ public override TaskStatus OnUpdate()
+ {
+ //if (mAIArgDistance.Value == null)
+ // return TaskStatus.Failure;
+
+ if (mAIArgObject.Value != null)
+ {
+ mAIArgDistance.Value = (transform.position - mAIArgObject.Value.position).magnitude;
+ }
+ else
+ {
+ mAIArgDistance.Value = (transform.position - mAIArgDestPoint.Value).magnitude;
+ }
+
+
+ return TaskStatus.Success;
+ }
+}
+
+public class SelectMoveTargetById : Action
+{
+ public SharedTransform mAIArgMoveTarget;
+ public int mAIArgObjectId;
+
+ public override TaskStatus OnUpdate()
+ {
+ Transform moveTarget = AIMgrUtil.GetAIMgrInterface().SelectMoveTargetById(transform.gameObject, mAIArgObjectId);
+
+ if (moveTarget == null)
+ return TaskStatus.Failure;
+ else
+ {
+ mAIArgMoveTarget.Value = moveTarget;
+ return TaskStatus.Success;
+ }
+ }
+}
+
+public class SelectBuffTarget : Action
+{
+ //public SharedVector3 mAIArgBuffTarget;
+ public SharedTransform mAIArgBuffTarget;
+
+ public override TaskStatus OnUpdate()
+ {
+ Transform buffTarget = AIMgrUtil.GetAIMgrInterface().SelectBuffTarget(transform.gameObject);
+
+ if (buffTarget == null)
+ {
+ return TaskStatus.Failure;
+ }
+ else
+ {
+ mAIArgBuffTarget.Value = buffTarget;
+ return TaskStatus.Success;
+ }
+ }
+}
+
+public class SelectItemTarget : Action
+{
+ //public SharedVector3 mAIArgBuffTarget;
+ public SharedTransform mAIArgItemTarget;
+
+ public override TaskStatus OnUpdate()
+ {
+ Transform itemTarget = AIMgrUtil.GetAIMgrInterface().SelectItemTarget(transform.gameObject);
+
+ if (itemTarget == null)
+ return TaskStatus.Failure;
+ else
+ {
+ mAIArgItemTarget.Value = itemTarget;
+ return TaskStatus.Success;
+ }
+ }
+}
+
+public class SelectTargetBySkillCircle : Action
+{
+ public override TaskStatus OnUpdate()
+ {
+ if (AIMgrUtil.GetAIMgrInterface().SelectTargetBySkillCircle(transform.gameObject))
+ return TaskStatus.Success;
+ else
+ return TaskStatus.Failure;
+ }
+}
+
+public class SelectNonHartedList : Action
+{
+ public override TaskStatus OnUpdate()
+ {
+ return TaskStatus.Success;
+ }
+}
+
+public class ResetHartedList : Action
+{
+ public override TaskStatus OnUpdate()
+ {
+ AIMgrUtil.GetAIMgrInterface().ResetHartedList(transform.gameObject);
+ return TaskStatus.Success;
+ }
+}