NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/Gameplay/AI/AIManager.cs

49 lines
1.1 KiB
C#

using System.Collections.Generic;
using BehaviorDesigner.Runtime;
using Cysharp.Threading.Tasks;
using Gameplay.BT;
using PhxhSDK;
using UnityEngine;
namespace Gameplay.AI
{
using Framework;
public class AIManager : Singlenton<AIManager>, IInitable, IUpdatable
{
private BTImplement _iaiImplement;
public void Init()
{
_iaiImplement = BTImplement.Instance;
_iaiImplement.Init();
}
public void Release()
{
_iaiImplement.Release();
}
public void Update(float deltaTime)
{
_iaiImplement.Update(deltaTime);
}
public async UniTask<BehaviorTree> RegisterAI(GameObject go, string aiName)
{
return await _iaiImplement.RegisterAI(go, aiName);
}
public void UnRegisterAI(GameObject go)
{
_iaiImplement.UnRegisterAI(go);
}
public async UniTask PreLoadAI(HashSet<string> aiNames, int initCount)
{
await _iaiImplement.PreLoadAI(aiNames, initCount);
}
}
}