From 7f76618d9f979a3448e2146b65b05f10a0ccd07d Mon Sep 17 00:00:00 2001 From: zhangaotian <8474238@qq.com> Date: Wed, 18 Sep 2024 14:38:27 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E6=88=98=E6=96=97=E7=9B=B8?= =?UTF-8?q?=E5=85=B3AI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Code/Scripts/Gameplay/AI/AIManager.cs | 22 ++++- .../Code/Scripts/Gameplay/AI/BTImplement.cs | 13 +-- .../Gameplay/AI/Conditional/BTAutoFight.cs | 14 ++++ .../AI/Conditional/BTAutoFight.cs.meta | 11 +++ .../Gameplay/AI/Variables/SharedBattleInfo.cs | 4 +- .../Gameplay/Level/State/PrepareState.cs | 8 ++ .../Assets/Code/Scripts/Gameplay/PVE.meta | 8 ++ .../Code/Scripts/Gameplay/PVE/PVEManager.cs | 80 +++++++++++++++++++ .../Scripts/Gameplay/PVE/PVEManager.cs.meta | 11 +++ .../FightReady/UIFightClockController.cs | 13 +++ ProjectNLD/Assets/Config/AI/AIBehavior.asset | 63 ++++++++------- .../ProjectSettings/GvhProjectSettings.xml | 11 +++ 12 files changed, 216 insertions(+), 42 deletions(-) create mode 100644 ProjectNLD/Assets/Code/Scripts/Gameplay/AI/Conditional/BTAutoFight.cs create mode 100644 ProjectNLD/Assets/Code/Scripts/Gameplay/AI/Conditional/BTAutoFight.cs.meta create mode 100644 ProjectNLD/Assets/Code/Scripts/Gameplay/PVE.meta create mode 100644 ProjectNLD/Assets/Code/Scripts/Gameplay/PVE/PVEManager.cs create mode 100644 ProjectNLD/Assets/Code/Scripts/Gameplay/PVE/PVEManager.cs.meta diff --git a/ProjectNLD/Assets/Code/Scripts/Gameplay/AI/AIManager.cs b/ProjectNLD/Assets/Code/Scripts/Gameplay/AI/AIManager.cs index 0e5f5a0e09a..915f663555e 100644 --- a/ProjectNLD/Assets/Code/Scripts/Gameplay/AI/AIManager.cs +++ b/ProjectNLD/Assets/Code/Scripts/Gameplay/AI/AIManager.cs @@ -1,19 +1,18 @@ using System.Collections.Generic; using BehaviorDesigner.Runtime; using Cysharp.Threading.Tasks; +using Gameplay.BT.Variables; using Gameplay.BT; -using PhxhSDK; using UnityEngine; +using PhxhSDK; namespace Gameplay.AI { - using Framework; - public class AIManager : Singlenton, IInitable, IUpdatable { + private const string SharedVariableName = "battleInfo"; private BTImplement _iaiImplement; - public void Init() { _iaiImplement = BTImplement.Instance; @@ -30,6 +29,21 @@ namespace Gameplay.AI _iaiImplement.Update(deltaTime); } + public bool EnableAI(GameObject go, bool enable) + { + var bt = _iaiImplement.GetAITree(go); + if (bt != null && bt.GetVariable(SharedVariableName) is SharedBattleInfo sharedVariable) + { + var battleInfo = sharedVariable.Value; + battleInfo.AutoFight = enable; + sharedVariable.Value = battleInfo; + bt.SetVariable(SharedVariableName, sharedVariable); + return true; + } + + return false; + } + public async UniTask RegisterAI(GameObject go, string aiName, bool enable = true) { return await _iaiImplement.RegisterAI(go, aiName, enable); diff --git a/ProjectNLD/Assets/Code/Scripts/Gameplay/AI/BTImplement.cs b/ProjectNLD/Assets/Code/Scripts/Gameplay/AI/BTImplement.cs index 69e661457bf..47b1ec3f7e0 100644 --- a/ProjectNLD/Assets/Code/Scripts/Gameplay/AI/BTImplement.cs +++ b/ProjectNLD/Assets/Code/Scripts/Gameplay/AI/BTImplement.cs @@ -1,9 +1,8 @@ using System; -using BehaviorDesigner.Runtime; -using Cysharp.Threading.Tasks; -using Framework; using PhxhSDK; using UnityEngine; +using Cysharp.Threading.Tasks; +using BehaviorDesigner.Runtime; namespace Gameplay.BT { @@ -39,6 +38,11 @@ namespace Gameplay.BT DebugUtil.Log("BTImplement Release success"); } + public BehaviorTree GetAITree(GameObject go) + { + return go.GetComponent(); + } + public async UniTask RegisterAI(GameObject go, string aiName, bool enable) { try @@ -49,8 +53,7 @@ namespace Gameplay.BT bt = go.AddComponent(); bt.StartWhenEnabled = false; } - - bt.enabled = enable; + bt.DisableBehavior(); bt.ExternalBehavior = await GetBehavior(aiName); bt.StartWhenEnabled = enable; diff --git a/ProjectNLD/Assets/Code/Scripts/Gameplay/AI/Conditional/BTAutoFight.cs b/ProjectNLD/Assets/Code/Scripts/Gameplay/AI/Conditional/BTAutoFight.cs new file mode 100644 index 00000000000..3e0ce12c436 --- /dev/null +++ b/ProjectNLD/Assets/Code/Scripts/Gameplay/AI/Conditional/BTAutoFight.cs @@ -0,0 +1,14 @@ +using BehaviorDesigner.Runtime.Tasks; +using Gameplay.BT.Variables; + +public class BTAutoFight : Conditional +{ + public SharedBattleInfo SharedBattleInfo; + + public override TaskStatus OnUpdate() + { + return SharedBattleInfo.Value.AutoFight + ? TaskStatus.Success + : TaskStatus.Failure; + } +} \ No newline at end of file diff --git a/ProjectNLD/Assets/Code/Scripts/Gameplay/AI/Conditional/BTAutoFight.cs.meta b/ProjectNLD/Assets/Code/Scripts/Gameplay/AI/Conditional/BTAutoFight.cs.meta new file mode 100644 index 00000000000..d3233bc7f00 --- /dev/null +++ b/ProjectNLD/Assets/Code/Scripts/Gameplay/AI/Conditional/BTAutoFight.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b8e39a353671a44ed8b64cc4df693f40 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ProjectNLD/Assets/Code/Scripts/Gameplay/AI/Variables/SharedBattleInfo.cs b/ProjectNLD/Assets/Code/Scripts/Gameplay/AI/Variables/SharedBattleInfo.cs index 975ffec1b60..04a895b4510 100644 --- a/ProjectNLD/Assets/Code/Scripts/Gameplay/AI/Variables/SharedBattleInfo.cs +++ b/ProjectNLD/Assets/Code/Scripts/Gameplay/AI/Variables/SharedBattleInfo.cs @@ -1,6 +1,6 @@ using System; -using System.Collections.Generic; using BehaviorDesigner.Runtime; +using System.Collections.Generic; using static Gameplay.Level.LevelData; namespace Gameplay.BT.Variables @@ -15,7 +15,7 @@ namespace Gameplay.BT.Variables public List PatrolInfos; public int PartolPointIndex; public List groupInfo; - + public bool AutoFight = true; } public class SharedBattleInfo : SharedVariable diff --git a/ProjectNLD/Assets/Code/Scripts/Gameplay/Level/State/PrepareState.cs b/ProjectNLD/Assets/Code/Scripts/Gameplay/Level/State/PrepareState.cs index c85bea11d35..25cd2fa1658 100644 --- a/ProjectNLD/Assets/Code/Scripts/Gameplay/Level/State/PrepareState.cs +++ b/ProjectNLD/Assets/Code/Scripts/Gameplay/Level/State/PrepareState.cs @@ -198,8 +198,12 @@ namespace Gameplay.Level switch (unit.gameunitType) { case EGameUnitType.Character: + { GameUnitManager.instance.MoveUnitToPrepare(characterIDHere); + //下阵解绑AI + //PVEManager.Instance.UnLoadAIToSelf(unit); break; + } case EGameUnitType.Vehicle: GameUnitManager.instance.MoveUnitToPrepare(characterIDHere); break; @@ -393,6 +397,10 @@ namespace Gameplay.Level var character = GameUnitManager.instance.totalUnits.Search(id); GameUnitManager.instance.MoveUnitToFight(character.GetID(), cellIndex, yaw); + + //上阵添加AI + //map.WorldPosition2BlockPosition(position, out var posV2); + //PVEManager.Instance.LoadAIToSelf(character, posV2); } private void _OnModelDragEnd(Vector2 screenPos) diff --git a/ProjectNLD/Assets/Code/Scripts/Gameplay/PVE.meta b/ProjectNLD/Assets/Code/Scripts/Gameplay/PVE.meta new file mode 100644 index 00000000000..5d6fa093ad7 --- /dev/null +++ b/ProjectNLD/Assets/Code/Scripts/Gameplay/PVE.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d6879c723c6e44d1490d4946765f39c3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ProjectNLD/Assets/Code/Scripts/Gameplay/PVE/PVEManager.cs b/ProjectNLD/Assets/Code/Scripts/Gameplay/PVE/PVEManager.cs new file mode 100644 index 00000000000..b21d5cc819e --- /dev/null +++ b/ProjectNLD/Assets/Code/Scripts/Gameplay/PVE/PVEManager.cs @@ -0,0 +1,80 @@ +using System.Collections.Generic; +using PhxhSDK; +using Gameplay.AI; +using Gameplay.BT.Variables; +using UnityEngine; +using Gameplay.Unit; +using Gameplay.Character; +using Gameplay.Level; + +/// +/// 自动战斗 +/// +public class PVEManager : Singlenton +{ + private const string SharedVariableName = "battleInfo"; + private const string AIBehavior = "AIBehavior"; + + public bool AutoFight = false; + + /// + /// 己方添加AI + /// + public async void LoadAIToSelf(GameUnit unit, Vector2Int position) + { + if (unit is not Character { troopId: ETroopsId.Self } character) return; + + //创建角色 LevelData 数据 + character.unitLevelData = new UnitLevelData() + { + AttachAIName = LevelData.AttachAIType.None, + AIName = LevelData.AIType.BasicAI, + BornPosition = position, + PatrolInfos = new List(), + GroupInfos = new List(), + }; + + character.statusData.isAttackActive = true; + var bt = await AIManager.Instance.RegisterAI(character.Node.GameObject, AIBehavior, false); + bt.SetVariable(SharedVariableName, new SharedBattleInfo() + { + Value = new BattleInfo() + { + ownerId = character.GetID(), + AIName = character.unitLevelData.AIName, + AttachAIName = character.unitLevelData.AttachAIName, + PatrolInfos = character.unitLevelData.PatrolInfos, + groupInfo = character.unitLevelData.GroupInfos, + AutoFight = false, + } + }); + character.statusData.isAIControll = false; + DebugUtil.Log("角色:{0} 绑定了AI", character.GetID()); + } + + public void UnLoadAIToSelf(GameUnit unit) + { + if (unit is not Character { troopId: ETroopsId.Self } character) return; + + character.statusData.isAttackActive = true; + AIManager.Instance.UnRegisterAI(character.Node.GameObject); + DebugUtil.Log("角色:{0} 解绑了AI", character.GetID()); + } + + /// + /// 己方是否自动战斗 + /// + public void EnableSelfAutoFight(bool enable) + { + if (enable == AutoFight) return; + AutoFight = enable; + var units = GameUnitManager.instance.infightUnits.unitList; + foreach (var unit in units) + { + if (unit is Character { troopId: ETroopsId.Self } unitCharacter) + { + AIManager.Instance.EnableAI(unitCharacter.Node.GameObject, enable); + } + } + } +} \ No newline at end of file diff --git a/ProjectNLD/Assets/Code/Scripts/Gameplay/PVE/PVEManager.cs.meta b/ProjectNLD/Assets/Code/Scripts/Gameplay/PVE/PVEManager.cs.meta new file mode 100644 index 00000000000..49788f1570c --- /dev/null +++ b/ProjectNLD/Assets/Code/Scripts/Gameplay/PVE/PVEManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: bd285f98dee4b4131b7e451b20357c13 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ProjectNLD/Assets/Code/Scripts/Gameplay/UI/LevelFight/FightReady/UIFightClockController.cs b/ProjectNLD/Assets/Code/Scripts/Gameplay/UI/LevelFight/FightReady/UIFightClockController.cs index e1fadcf8810..08e4e14a665 100644 --- a/ProjectNLD/Assets/Code/Scripts/Gameplay/UI/LevelFight/FightReady/UIFightClockController.cs +++ b/ProjectNLD/Assets/Code/Scripts/Gameplay/UI/LevelFight/FightReady/UIFightClockController.cs @@ -85,6 +85,9 @@ public class UIFightClockController : UIWindow{ BindButton(Button_Speed4X, OnClickSpeedBtn, ELevelSpeed.SuperFast); BindButton(Button_Speed1XNormalBlack, OnClickSpeedBtn, ELevelSpeed.Normal); + BindButton(Button_RotateNormalBG, AutoFight, true); + BindButton(Button_RotateRotatingBG, AutoFight, false); + EventManager.Instance.Register(EventManager.EventName.LevelBattleBegin, OnListenToFightBegin); EventManager.Instance.Register(EventManager.EventName.LevelFightUIPauseChange, OnListenToPauseChange); EventManager.Instance.Register(EventManager.EventName.LevelSpeedChange, OnLevelSpeedChange); @@ -372,6 +375,16 @@ public class UIFightClockController : UIWindow{ } /**************** 点击事件 *****************/ + + /// + /// 开启自动战斗 + /// + private void AutoFight(bool autoFight) + { + Button_RotateRotatingBG.gameObject.SetActive(autoFight); + PVEManager.Instance.EnableSelfAutoFight(autoFight); + } + //点击战场暂停 private void OnClickPause() { diff --git a/ProjectNLD/Assets/Config/AI/AIBehavior.asset b/ProjectNLD/Assets/Config/AI/AIBehavior.asset index 95010f38f48..ab562bac16e 100644 --- a/ProjectNLD/Assets/Config/AI/AIBehavior.asset +++ b/ProjectNLD/Assets/Config/AI/AIBehavior.asset @@ -20,37 +20,38 @@ MonoBehaviour: parentIndex: startIndex: variableStartIndex: - JSONSerialization: '{"EntryTask":{"Type":"BehaviorDesigner.Runtime.Tasks.EntryTask","NodeData":{"Offset":"(-1204.59485,125.951416)"},"ID":0,"Name":"Entry","Instant":true},"RootTask":{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(0,210)"},"ID":1,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-1282.66052,146.083374)"},"ID":2,"Name":"Sequence","Instant":true,"AbortTypeabortType":"Both","Children":[{"Type":"BTHasReceivdGroupCalled","NodeData":{"Offset":"(-123.866379,235.328522)"},"ID":3,"Name":"BT - Has Receivd Group Called","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[]}}},{"Type":"BTEventMoveTo","NodeData":{"Offset":"(56.30264,240.174835)"},"ID":4,"Name":"BT - Event Move To","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[]}}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-1130.51147,151.474)"},"ID":5,"Name":"Sequence","Instant":true,"AbortTypeabortType":"Both","Children":[{"Type":"Code.Scripts.Gameplay.AI.Conditional.BTCheckAIGroup","NodeData":{"Offset":"(-115.709625,515.484863)"},"ID":6,"Name":"BT - Check AI Group","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[]}}},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(6.176361,520)"},"ID":7,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":0.5},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}},{"Type":"Code.Scripts.Gameplay.AI.Task.BTSendChainActive","NodeData":{"Offset":"(149.517441,523.031)"},"ID":8,"Name":"BT - Send Chain Active","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[]}}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-927.9717,182.311035)"},"ID":9,"Name":"Sequence","Instant":true,"AbortTypeabortType":"Both","Children":[{"Type":"Code.Scripts.Gameplay.BT.Conditional.BTProvokeTrigger","NodeData":{"Offset":"(-103.622482,195.367737)"},"ID":10,"Name":"BT - Provoke Trigger","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[]}}},{"Type":"BTEventMoveTo","NodeData":{"Offset":"(50.6467819,204.910812)"},"ID":11,"Name":"BT - Event Move To","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[]}}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-694.0807,196.5701)"},"ID":12,"Name":"Sequence","Instant":true,"AbortTypeabortType":"Both","Children":[{"Type":"Code.Scripts.Gameplay.BT.Conditional.BTHasReceivdCalled","NodeData":{"Offset":"(-91.13474,287.606262)"},"ID":13,"Name":"BT - Has Receivd Called","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[]}}},{"Type":"BTEventMoveTo","NodeData":{"Offset":"(76.4756851,283.2246)"},"ID":14,"Name":"BT - Event Move To","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[]}}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-455.856384,192.195984)"},"ID":15,"Name":"Sequence","Instant":true,"AbortTypeabortType":"Both","Children":[{"Type":"Code.Scripts.Gameplay.BT.Conditional.BTChainTrigger","NodeData":{"Offset":"(-121.360054,508.474731)"},"ID":16,"Name":"BT - Chain Trigger","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[]}}},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(16.2412872,520.2404)"},"ID":17,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":0.5},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}},{"Type":"Code.Scripts.Gameplay.BT.Task.BTSendChainCall","NodeData":{"Offset":"(183.150192,511.999725)"},"ID":18,"Name":"BT - Send Chain Call","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[]}}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-220.0161,201.977249)"},"ID":19,"Name":"Sequence","Instant":true,"AbortTypeabortType":"Both","Children":[{"Type":"Code.Scripts.Gameplay.BT.Conditional.BTBehavioralTrigger","NodeData":{"Offset":"(-65.82873,282.6978)"},"ID":20,"Name":"BT - Behavioral Trigger","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[]}}},{"Type":"Code.Scripts.Gameplay.BT.Task.BTMoveTo","NodeData":{"Offset":"(68.87425,279.4636)"},"ID":21,"Name":"BT - Move To","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[]}}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(187.5299,182.307663)"},"ID":22,"Name":"Sequence","Instant":true,"AbortTypeabortType":"Both","Children":[{"Type":"Code.Scripts.Gameplay.BT.Conditional.BTFallBackIntensifyAI","NodeData":{"Offset":"(-206.7258,150.0616)"},"ID":23,"Name":"BT - Fall Back Intensify AI","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[]}}},{"Type":"Code.Scripts.Gameplay.BT.Conditional.BTBeingAttacked","NodeData":{"Offset":"(-96.52779,245.833344)"},"ID":24,"Name":"BT - Being Attacked","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[]}},"Boolean_isBeingAttacked":false},{"Type":"Code.Scripts.Gameplay.BT.Task.BTMoveAway","NodeData":{"Offset":"(-12.3610706,353.472229)"},"ID":25,"Name":"BT - Move Away","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[]}}},{"Type":"BehaviorDesigner.Runtime.Tasks.Idle","NodeData":{"Offset":"(66.25058,448.333984)"},"ID":26,"Name":"Idle","Instant":true}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(432.352173,187.717072)"},"ID":27,"Name":"Sequence","Instant":true,"AbortTypeabortType":"Both","Children":[{"Type":"Code.Scripts.Gameplay.BT.Conditional.BTFallBackAI","NodeData":{"Offset":"(-90.9525146,165.148987)"},"ID":28,"Name":"BT - Fall Back AI","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[]}}},{"Type":"Code.Scripts.Gameplay.BT.Conditional.BTBeingAttacked","NodeData":{"Offset":"(5.87202263,252.1221)"},"ID":29,"Name":"BT - Being Attacked","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[]}},"Boolean_isBeingAttacked":false},{"Type":"Code.Scripts.Gameplay.BT.Task.BTMoveAway","NodeData":{"Offset":"(94.99995,336.25)"},"ID":30,"Name":"BT - Move Away","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[]}}},{"Type":"BehaviorDesigner.Runtime.Tasks.Idle","NodeData":{"Offset":"(188.125,430)"},"ID":31,"Name":"Idle","Instant":true}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(913.214539,214.582657)"},"ID":32,"Name":"Sequence","Instant":true,"AbortTypeabortType":"LowerPriority","Children":[{"Type":"Code.Scripts.Gameplay.BT.Conditional.BTBasicAI","NodeData":{"Offset":"(-133.994186,176.258942)"},"ID":33,"Name":"BT - Basic AI","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[]}}},{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(113.974785,169.93251)"},"ID":34,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-181.1063,144.5812)"},"ID":35,"Name":"Sequence","Instant":true,"AbortTypeabortType":"Both","Children":[{"Type":"Code.Scripts.Gameplay.BT.Conditional.BTWithinSight","NodeData":{"Offset":"(-74.29743,179.094315)"},"ID":36,"Name":"BT - Within Sight","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[]}}},{"Type":"Code.Scripts.Gameplay.BT.Task.BTMoveTo","NodeData":{"Offset":"(42.1891174,182.105179)"},"ID":37,"Name":"BT - Move To","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[]}}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(91.40203,204.546509)"},"ID":38,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"Code.Scripts.Gameplay.BT.Task.BTMoveToBornPosition","NodeData":{"Offset":"(-135.7143,361.428528)"},"ID":39,"Name":"BT - Move To Born Position","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[]}}},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(153.360779,209.639236)"},"ID":40,"Name":"Sequence","Instant":true,"AbortTypeabortType":"Both","Children":[{"Type":"Code.Scripts.Gameplay.BT.Task.BTBeginPatrol","NodeData":{"Offset":"(-115.262772,152.146027)"},"ID":41,"Name":"BT - Begin Patrol","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[]}}},{"Type":"Code.Scripts.Gameplay.BT.Task.BTWait","NodeData":{"Offset":"(4.930951,149.435211)"},"ID":42,"Name":"BT - Wait","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[]}}},{"Type":"BehaviorDesigner.Runtime.Tasks.Idle","NodeData":{"Offset":"(113.01944,153.541183)"},"ID":43,"Name":"Idle","Instant":true}]}]}]}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(1544.63989,164.145813)"},"ID":44,"Name":"Sequence","Instant":true,"AbortTypeabortType":"LowerPriority","Children":[{"Type":"Code.Scripts.Gameplay.BT.Conditional.BTOutflankAI","NodeData":{"Offset":"(-235.951584,205.394287)"},"ID":45,"Name":"BT - Outflank AI","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[]}}},{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(1.84604836,200)"},"ID":46,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-80,140)"},"ID":47,"Name":"Sequence","Instant":true,"AbortTypeabortType":"Both","Children":[{"Type":"Code.Scripts.Gameplay.BT.Conditional.BTWithinSight","NodeData":{"Offset":"(-177.201324,135.280273)"},"ID":48,"Name":"BT - Within Sight","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[]}}},{"Type":"BTMoveAroundTo","NodeData":{"Offset":"(-9.982029,146.914551)"},"ID":49,"Name":"BT - Move Around To","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[]}},"EMoveDirectionMoveDirection":"Clockwise"},{"Type":"BehaviorDesigner.Runtime.Tasks.Idle","NodeData":{"Offset":"(120.713676,150.000092)"},"ID":50,"Name":"Idle","Instant":true}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(256.249664,170.000046)"},"ID":51,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"Code.Scripts.Gameplay.BT.Task.BTMoveToBornPosition","NodeData":{"Offset":"(-140,360)"},"ID":52,"Name":"BT - Move To Born Position","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[]}}},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(150,210)"},"ID":53,"Name":"Sequence","Instant":true,"AbortTypeabortType":"Both","Children":[{"Type":"Code.Scripts.Gameplay.BT.Task.BTBeginPatrol","NodeData":{"Offset":"(-120,150)"},"ID":54,"Name":"BT - Begin Patrol","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[]}}},{"Type":"Code.Scripts.Gameplay.BT.Task.BTWait","NodeData":{"Offset":"(0,150)"},"ID":55,"Name":"BT - Wait","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[]}}},{"Type":"BehaviorDesigner.Runtime.Tasks.Idle","NodeData":{"Offset":"(110,150)"},"ID":56,"Name":"Idle","Instant":true}]}]}]}]}]},"Variables":[{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[]}}]}' + JSONSerialization: '{"EntryTask":{"Type":"BehaviorDesigner.Runtime.Tasks.EntryTask","NodeData":{"Offset":"(-1113.43787,249.137024)"},"ID":0,"Name":"Entry","Instant":true},"RootTask":{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(-3.6965332,153.74707)"},"ID":1,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-224.633,155.417664)"},"ID":2,"Name":"Sequence","Instant":true,"AbortTypeabortType":"Both","Children":[{"Type":"BTAutoFight","NodeData":{"Offset":"(-63.00095,245.635864)"},"ID":3,"Name":"BT + Auto Fight","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[],"BooleanAutoFight":true}}},{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(108.362305,254.381714)"},"ID":4,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-1282.66052,146.083374)"},"ID":5,"Name":"Sequence","Instant":true,"AbortTypeabortType":"Both","Children":[{"Type":"BTHasReceivdGroupCalled","NodeData":{"Offset":"(-123.866379,235.328522)"},"ID":6,"Name":"BT + Has Receivd Group Called","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[],"BooleanAutoFight":true}}},{"Type":"BTEventMoveTo","NodeData":{"Offset":"(56.30264,240.174835)"},"ID":7,"Name":"BT + Event Move To","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[],"BooleanAutoFight":true}}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-1130.51147,151.474)"},"ID":8,"Name":"Sequence","Instant":true,"AbortTypeabortType":"Both","Children":[{"Type":"Code.Scripts.Gameplay.AI.Conditional.BTCheckAIGroup","NodeData":{"Offset":"(-115.709625,515.484863)"},"ID":9,"Name":"BT + Check AI Group","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[],"BooleanAutoFight":true}}},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(6.176361,520)"},"ID":10,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":0.5},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}},{"Type":"Code.Scripts.Gameplay.AI.Task.BTSendChainActive","NodeData":{"Offset":"(149.517441,523.031)"},"ID":11,"Name":"BT + Send Chain Active","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[],"BooleanAutoFight":true}}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-927.9717,182.311035)"},"ID":12,"Name":"Sequence","Instant":true,"AbortTypeabortType":"Both","Children":[{"Type":"Code.Scripts.Gameplay.BT.Conditional.BTProvokeTrigger","NodeData":{"Offset":"(-103.622482,195.367737)"},"ID":13,"Name":"BT + Provoke Trigger","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[],"BooleanAutoFight":true}}},{"Type":"BTEventMoveTo","NodeData":{"Offset":"(50.6467819,204.910812)"},"ID":14,"Name":"BT + Event Move To","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[],"BooleanAutoFight":true}}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-694.0807,196.5701)"},"ID":15,"Name":"Sequence","Instant":true,"AbortTypeabortType":"Both","Children":[{"Type":"Code.Scripts.Gameplay.BT.Conditional.BTHasReceivdCalled","NodeData":{"Offset":"(-91.13474,287.606262)"},"ID":16,"Name":"BT + Has Receivd Called","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[],"BooleanAutoFight":true}}},{"Type":"BTEventMoveTo","NodeData":{"Offset":"(76.4756851,283.2246)"},"ID":17,"Name":"BT + Event Move To","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[],"BooleanAutoFight":true}}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-455.856384,192.195984)"},"ID":18,"Name":"Sequence","Instant":true,"AbortTypeabortType":"Both","Children":[{"Type":"Code.Scripts.Gameplay.BT.Conditional.BTChainTrigger","NodeData":{"Offset":"(-121.360054,508.474731)"},"ID":19,"Name":"BT + Chain Trigger","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[],"BooleanAutoFight":true}}},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(16.2412872,520.2404)"},"ID":20,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":0.5},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}},{"Type":"Code.Scripts.Gameplay.BT.Task.BTSendChainCall","NodeData":{"Offset":"(183.150192,511.999725)"},"ID":21,"Name":"BT + Send Chain Call","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[],"BooleanAutoFight":true}}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-220.0161,201.977249)"},"ID":22,"Name":"Sequence","Instant":true,"AbortTypeabortType":"Both","Children":[{"Type":"Code.Scripts.Gameplay.BT.Conditional.BTBehavioralTrigger","NodeData":{"Offset":"(-65.82873,282.6978)"},"ID":23,"Name":"BT + Behavioral Trigger","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[],"BooleanAutoFight":true}}},{"Type":"Code.Scripts.Gameplay.BT.Task.BTMoveTo","NodeData":{"Offset":"(68.87425,279.4636)"},"ID":24,"Name":"BT + Move To","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[],"BooleanAutoFight":true}}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(187.5299,182.307663)"},"ID":25,"Name":"Sequence","Instant":true,"AbortTypeabortType":"Both","Children":[{"Type":"Code.Scripts.Gameplay.BT.Conditional.BTFallBackIntensifyAI","NodeData":{"Offset":"(-206.7258,150.0616)"},"ID":26,"Name":"BT + Fall Back Intensify AI","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[],"BooleanAutoFight":true}}},{"Type":"Code.Scripts.Gameplay.BT.Conditional.BTBeingAttacked","NodeData":{"Offset":"(-96.52779,245.833344)"},"ID":27,"Name":"BT + Being Attacked","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[],"BooleanAutoFight":true}},"Boolean_isBeingAttacked":false},{"Type":"Code.Scripts.Gameplay.BT.Task.BTMoveAway","NodeData":{"Offset":"(-12.3610706,353.472229)"},"ID":28,"Name":"BT + Move Away","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[],"BooleanAutoFight":true}}},{"Type":"BehaviorDesigner.Runtime.Tasks.Idle","NodeData":{"Offset":"(66.25058,448.333984)"},"ID":29,"Name":"Idle","Instant":true}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(432.352173,187.717072)"},"ID":30,"Name":"Sequence","Instant":true,"AbortTypeabortType":"Both","Children":[{"Type":"Code.Scripts.Gameplay.BT.Conditional.BTFallBackAI","NodeData":{"Offset":"(-90.9525146,165.148987)"},"ID":31,"Name":"BT + Fall Back AI","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[],"BooleanAutoFight":true}}},{"Type":"Code.Scripts.Gameplay.BT.Conditional.BTBeingAttacked","NodeData":{"Offset":"(5.87202263,252.1221)"},"ID":32,"Name":"BT + Being Attacked","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[],"BooleanAutoFight":true}},"Boolean_isBeingAttacked":false},{"Type":"Code.Scripts.Gameplay.BT.Task.BTMoveAway","NodeData":{"Offset":"(94.99995,336.25)"},"ID":33,"Name":"BT + Move Away","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[],"BooleanAutoFight":true}}},{"Type":"BehaviorDesigner.Runtime.Tasks.Idle","NodeData":{"Offset":"(188.125,430)"},"ID":34,"Name":"Idle","Instant":true}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(913.214539,214.582657)"},"ID":35,"Name":"Sequence","Instant":true,"AbortTypeabortType":"LowerPriority","Children":[{"Type":"Code.Scripts.Gameplay.BT.Conditional.BTBasicAI","NodeData":{"Offset":"(-133.994186,176.258942)"},"ID":36,"Name":"BT + Basic AI","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[],"BooleanAutoFight":true}}},{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(113.974785,169.93251)"},"ID":37,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-181.1063,144.5812)"},"ID":38,"Name":"Sequence","Instant":true,"AbortTypeabortType":"Both","Children":[{"Type":"Code.Scripts.Gameplay.BT.Conditional.BTWithinSight","NodeData":{"Offset":"(-74.29743,179.094315)"},"ID":39,"Name":"BT + Within Sight","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[],"BooleanAutoFight":true}}},{"Type":"Code.Scripts.Gameplay.BT.Task.BTMoveTo","NodeData":{"Offset":"(42.1891174,182.105179)"},"ID":40,"Name":"BT + Move To","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[],"BooleanAutoFight":true}}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(91.40203,204.546509)"},"ID":41,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"Code.Scripts.Gameplay.BT.Task.BTMoveToBornPosition","NodeData":{"Offset":"(-135.7143,361.428528)"},"ID":42,"Name":"BT + Move To Born Position","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[],"BooleanAutoFight":true}}},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(153.360779,209.639236)"},"ID":43,"Name":"Sequence","Instant":true,"AbortTypeabortType":"Both","Children":[{"Type":"Code.Scripts.Gameplay.BT.Task.BTBeginPatrol","NodeData":{"Offset":"(-115.262772,152.146027)"},"ID":44,"Name":"BT + Begin Patrol","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[],"BooleanAutoFight":true}}},{"Type":"Code.Scripts.Gameplay.BT.Task.BTWait","NodeData":{"Offset":"(4.930951,149.435211)"},"ID":45,"Name":"BT + Wait","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[],"BooleanAutoFight":true}}},{"Type":"BehaviorDesigner.Runtime.Tasks.Idle","NodeData":{"Offset":"(113.01944,153.541183)"},"ID":46,"Name":"Idle","Instant":true}]}]}]}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(1544.63989,164.145813)"},"ID":47,"Name":"Sequence","Instant":true,"AbortTypeabortType":"LowerPriority","Children":[{"Type":"Code.Scripts.Gameplay.BT.Conditional.BTOutflankAI","NodeData":{"Offset":"(-235.951584,205.394287)"},"ID":48,"Name":"BT + Outflank AI","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[],"BooleanAutoFight":true}}},{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(1.84604836,200)"},"ID":49,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-80,140)"},"ID":50,"Name":"Sequence","Instant":true,"AbortTypeabortType":"Both","Children":[{"Type":"Code.Scripts.Gameplay.BT.Conditional.BTWithinSight","NodeData":{"Offset":"(-177.201324,135.280273)"},"ID":51,"Name":"BT + Within Sight","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[],"BooleanAutoFight":true}}},{"Type":"BTMoveAroundTo","NodeData":{"Offset":"(-9.982029,146.914551)"},"ID":52,"Name":"BT + Move Around To","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[],"BooleanAutoFight":true}},"EMoveDirectionMoveDirection":"Clockwise"},{"Type":"BehaviorDesigner.Runtime.Tasks.Idle","NodeData":{"Offset":"(120.713676,150.000092)"},"ID":53,"Name":"Idle","Instant":true}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(256.249664,170.000046)"},"ID":54,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"Code.Scripts.Gameplay.BT.Task.BTMoveToBornPosition","NodeData":{"Offset":"(-140,360)"},"ID":55,"Name":"BT + Move To Born Position","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[],"BooleanAutoFight":true}}},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(150,210)"},"ID":56,"Name":"Sequence","Instant":true,"AbortTypeabortType":"Both","Children":[{"Type":"Code.Scripts.Gameplay.BT.Task.BTBeginPatrol","NodeData":{"Offset":"(-120,150)"},"ID":57,"Name":"BT + Begin Patrol","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[],"BooleanAutoFight":true}}},{"Type":"Code.Scripts.Gameplay.BT.Task.BTWait","NodeData":{"Offset":"(0,150)"},"ID":58,"Name":"BT + Wait","Instant":true,"SharedBattleInfoSharedBattleInfo":{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[],"BooleanAutoFight":true}}},{"Type":"BehaviorDesigner.Runtime.Tasks.Idle","NodeData":{"Offset":"(110,150)"},"ID":59,"Name":"Idle","Instant":true}]}]}]}]}]}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Idle","NodeData":{"Offset":"(178.075836,160.9367)"},"ID":60,"Name":"Idle","Instant":true}]},"Variables":[{"Type":"Gameplay.BT.Variables.SharedBattleInfo","Name":"battleInfo","IsShared":true,"BattleInfomValue":{"UInt32ownerId":0,"UInt32theChosenOneId":0,"AITypeAIName":"BasicAI","AttachAITypeAttachAIName":"None","List`1PatrolInfos":[],"Int32PartolPointIndex":0,"List`1groupInfo":[],"BooleanAutoFight":true}}]}' fieldSerializationData: typeName: [] fieldNameHash: diff --git a/ProjectNLD/ProjectSettings/GvhProjectSettings.xml b/ProjectNLD/ProjectSettings/GvhProjectSettings.xml index 1f20cac7945..d803d898ef3 100644 --- a/ProjectNLD/ProjectSettings/GvhProjectSettings.xml +++ b/ProjectNLD/ProjectSettings/GvhProjectSettings.xml @@ -1,6 +1,17 @@ + + + + + + + + + + +