mirror of
https://github.com/Alex-Rachel/TEngine.git
synced 2025-08-14 16:51:28 +00:00
[+] 接入ET8服务端
[+] 接入ET8服务端
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace ET
|
||||
{
|
||||
public class AIDispatcherComponent: SingletonLock<AIDispatcherComponent>, ISingletonAwake
|
||||
{
|
||||
private readonly Dictionary<string, AAIHandler> aiHandlers = new();
|
||||
|
||||
public void Awake()
|
||||
{
|
||||
var types = EventSystem.Instance.GetTypes(typeof (AIHandlerAttribute));
|
||||
foreach (Type type in types)
|
||||
{
|
||||
AAIHandler aaiHandler = Activator.CreateInstance(type) as AAIHandler;
|
||||
if (aaiHandler == null)
|
||||
{
|
||||
Log.Error($"robot ai is not AAIHandler: {type.Name}");
|
||||
continue;
|
||||
}
|
||||
this.aiHandlers.Add(type.Name, aaiHandler);
|
||||
}
|
||||
}
|
||||
|
||||
public AAIHandler Get(string key)
|
||||
{
|
||||
this.aiHandlers.TryGetValue(key, out var aaiHandler);
|
||||
return aaiHandler;
|
||||
}
|
||||
|
||||
public override void Load()
|
||||
{
|
||||
World.Instance.AddSingleton<AIDispatcherComponent>(true);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user