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/Actions/XAIActionCastSkill.cs | |
parent | 1fe4ffba72f56ccc6a89d1896142425c666887d4 (diff) |
+behaviour designer
Diffstat (limited to 'Client/Assets/Behavior Designer/AI/Actions/XAIActionCastSkill.cs')
-rw-r--r-- | Client/Assets/Behavior Designer/AI/Actions/XAIActionCastSkill.cs | 166 |
1 files changed, 166 insertions, 0 deletions
diff --git a/Client/Assets/Behavior Designer/AI/Actions/XAIActionCastSkill.cs b/Client/Assets/Behavior Designer/AI/Actions/XAIActionCastSkill.cs new file mode 100644 index 00000000..9db35f96 --- /dev/null +++ b/Client/Assets/Behavior Designer/AI/Actions/XAIActionCastSkill.cs @@ -0,0 +1,166 @@ +using UnityEngine;
+using System.Collections.Generic;
+using BehaviorDesigner.Runtime;
+using BehaviorDesigner.Runtime.Tasks;
+
+public enum ComboSkillType
+{
+ StartSkill,
+ ComboSkill,
+}
+
+public class PhysicalAttack : Action
+{
+ public SharedTransform mAIArgTarget;
+
+ public override TaskStatus OnUpdate()
+ {
+ if (mAIArgTarget.Value == null)
+ return TaskStatus.Failure;
+
+ if (AIMgrUtil.GetAIMgrInterface().TryCastPhysicalSkill(transform.gameObject, mAIArgTarget.Value.gameObject))
+ return TaskStatus.Success;
+ else
+ return TaskStatus.Failure;
+ }
+}
+
+public class TryCastQTE : Action
+{
+ public override TaskStatus OnUpdate()
+ {
+ if (AIMgrUtil.GetAIMgrInterface().CastQTESkill(transform.gameObject))
+ return TaskStatus.Success;
+ else
+ return TaskStatus.Failure;
+ }
+}
+
+public class CastDash : Action
+{
+ public override TaskStatus OnUpdate()
+ {
+ if (AIMgrUtil.GetAIMgrInterface().CastDashSkill(transform.gameObject))
+ return TaskStatus.Success;
+ else
+ return TaskStatus.Failure;
+ }
+}
+
+public class CastStartSkill : Action
+{
+ public SharedTransform mAIArgTarget;
+ public override TaskStatus OnUpdate()
+ {
+ return TaskStatus.Failure;
+ }
+}
+
+public class CastNextSkill : Action
+{
+ public SharedTransform mAIArgTarget;
+ public override TaskStatus OnUpdate()
+ {
+ return TaskStatus.Failure;
+ }
+}
+
+public class FilterSkill : Action
+{
+ public SharedTransform mAIArgTarget;
+ //public bool mAIArgUseInstall;
+ public bool mAIArgUseMP;
+ public bool mAIArgUseName;
+ public bool mAIArgUseHP;
+ public bool mAIArgUseCoolDown;
+ public bool mAIArgUseAttackField;
+ public bool mAIArgUseCombo;
+ public bool mAIArgUseInstall = false;
+ public ComboSkillType mAIArgSkillType;
+ public string mAIArgSkillName;
+ public bool mAIArgDetectAllPlayInAttackField;
+ public int mAIArgMaxSkillNum;
+
+ public override TaskStatus OnUpdate()
+ {
+ XUtliPoolLib.FilterSkillArg skillArg = new XUtliPoolLib.FilterSkillArg();
+ skillArg.mAIArgTarget = mAIArgTarget.Value;
+ skillArg.mAIArgUseMP = mAIArgUseMP;
+ skillArg.mAIArgUseName = mAIArgUseName;
+ skillArg.mAIArgUseHP = mAIArgUseHP;
+ skillArg.mAIArgUseCoolDown = mAIArgUseCoolDown;
+ skillArg.mAIArgUseAttackField = mAIArgUseAttackField;
+ skillArg.mAIArgUseCombo = mAIArgUseCombo;
+ skillArg.mAIArgUseInstall = mAIArgUseInstall;
+ skillArg.mAIArgSkillType = (int)mAIArgSkillType;
+ skillArg.mAIArgSkillName = mAIArgSkillName;
+ skillArg.mAIArgDetectAllPlayInAttackField = mAIArgDetectAllPlayInAttackField;
+ skillArg.mAIArgMaxSkillNum = mAIArgMaxSkillNum;
+
+ if (AIMgrUtil.GetAIMgrInterface().SelectSkill(transform.gameObject, skillArg))
+ return TaskStatus.Success;
+ else
+ return TaskStatus.Failure;
+ }
+}
+
+public class DoSelectSkillInOrder : Action
+{
+ public override TaskStatus OnUpdate()
+ {
+ if (AIMgrUtil.GetAIMgrInterface().DoSelectInOrder(transform.gameObject))
+ return TaskStatus.Success;
+ else
+ return TaskStatus.Failure;
+ }
+}
+
+public class DoSelectSkillRandom : Action
+{
+ public override TaskStatus OnUpdate()
+ {
+ if (AIMgrUtil.GetAIMgrInterface().DoSelectRandom(transform.gameObject))
+ return TaskStatus.Success;
+ else
+ return TaskStatus.Failure;
+ }
+}
+
+public class DoCastSkill : Action
+{
+ public SharedTransform mAIArgTarget;
+ public override TaskStatus OnUpdate()
+ {
+ if (mAIArgTarget.Value == null)
+ {
+ if (AIMgrUtil.GetAIMgrInterface().DoCastSkill(transform.gameObject, null))
+ return TaskStatus.Success;
+ else
+ return TaskStatus.Failure;
+ }
+ else
+ {
+ if (AIMgrUtil.GetAIMgrInterface().DoCastSkill(transform.gameObject, mAIArgTarget.Value.gameObject))
+ return TaskStatus.Success;
+ else
+ return TaskStatus.Failure;
+ }
+ }
+}
+
+public class StopCastingSkill : Action
+{
+ public override TaskStatus OnUpdate()
+ {
+ if (AIMgrUtil.GetAIMgrInterface().StopCastingSkill(transform.gameObject))
+ return TaskStatus.Success;
+ else
+ return TaskStatus.Failure;
+ }
+}
+
+public class IsInSkillAttackField : Action
+{
+ public SharedString mAIArgUID;
+ public SharedInt mAIArgSkillID;
+}
\ No newline at end of file |