自动战斗相关AI

main
zhangaotian 2024-09-18 14:38:27 +08:00
parent 3ca045d655
commit 7f76618d9f
12 changed files with 216 additions and 42 deletions

View File

@ -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<AIManager>, 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<BehaviorTree> RegisterAI(GameObject go, string aiName, bool enable = true)
{
return await _iaiImplement.RegisterAI(go, aiName, enable);

View File

@ -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<BehaviorTree>();
}
public async UniTask<BehaviorTree> RegisterAI(GameObject go, string aiName, bool enable)
{
try
@ -50,7 +54,6 @@ namespace Gameplay.BT
bt.StartWhenEnabled = false;
}
bt.enabled = enable;
bt.DisableBehavior();
bt.ExternalBehavior = await GetBehavior(aiName);
bt.StartWhenEnabled = enable;

View File

@ -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;
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: b8e39a353671a44ed8b64cc4df693f40
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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<PatrolInfo> PatrolInfos;
public int PartolPointIndex;
public List<int> groupInfo;
public bool AutoFight = true;
}
public class SharedBattleInfo : SharedVariable<BattleInfo>

View File

@ -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)

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: d6879c723c6e44d1490d4946765f39c3
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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;
/// <summary>
/// 自动战斗
/// </summary>
public class PVEManager : Singlenton<PVEManager>
{
private const string SharedVariableName = "battleInfo";
private const string AIBehavior = "AIBehavior";
public bool AutoFight = false;
/// <summary>
/// 己方添加AI
/// </summary>
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<LevelData.PatrolInfo>(),
GroupInfos = new List<int>(),
};
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());
}
/// <summary>
/// 己方是否自动战斗
/// </summary>
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);
}
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: bd285f98dee4b4131b7e451b20357c13
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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{
}
/**************** 点击事件 *****************/
/// <summary>
/// 开启自动战斗
/// </summary>
private void AutoFight(bool autoFight)
{
Button_RotateRotatingBG.gameObject.SetActive(autoFight);
PVEManager.Instance.EnableSelfAutoFight(autoFight);
}
//点击战场暂停
private void OnClickPause()
{

View File

@ -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:

View File

@ -1,6 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<projectSettings>
<projectSetting name="com.google.external-dependency-managerAnalyticsEnabled" value="False" />
<projectSetting name="Google.IOSResolver.AutoPodToolInstallInEditor" value="False" />
<projectSetting name="Google.IOSResolver.CocoapodsIntegrationMethod" value="2" />
<projectSetting name="Google.IOSResolver.PodfileAddUseFrameworks" value="True" />
<projectSetting name="Google.IOSResolver.PodfileAllowPodsInMultipleTargets" value="True" />
<projectSetting name="Google.IOSResolver.PodfileAlwaysAddMainTarget" value="True" />
<projectSetting name="Google.IOSResolver.PodfileEnabled" value="False" />
<projectSetting name="Google.IOSResolver.PodfileStaticLinkFrameworks" value="True" />
<projectSetting name="Google.IOSResolver.PodToolExecutionViaShellEnabled" value="False" />
<projectSetting name="Google.IOSResolver.PodToolShellExecutionSetLang" value="True" />
<projectSetting name="Google.IOSResolver.SwiftFrameworkSupportWorkaroundEnabled" value="True" />
<projectSetting name="Google.IOSResolver.SwiftLanguageVersion" value="5.0" />
<projectSetting name="Google.IOSResolver.VerboseLoggingEnabled" value="False" />
<projectSetting name="Google.PackageManagerResolver.VerboseLoggingEnabled" value="False" />
<projectSetting name="Google.VersionHandler.VerboseLoggingEnabled" value="False" />