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

49 lines
1.1 KiB
C#
Raw Normal View History

2023-08-22 19:08:45 +08:00
using System.Collections.Generic;
using BehaviorDesigner.Runtime;
using Cysharp.Threading.Tasks;
using Gameplay.BT;
2023-10-19 15:00:19 +08:00
using PhxhSDK;
2023-08-22 19:08:45 +08:00
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);
}
}
}