using Robust.Shared.Reflection; using Robust.Shared.Utility; namespace Content.Server.AI.WorldState { // This will also handle the global blackboard at some point /// /// Manager the AI blackboard states /// public sealed class BlackboardManager { // Cache the known types public IReadOnlyCollection AiStates => _aiStates; private readonly List _aiStates = new(); public void Initialize() { var reflectionManager = IoCManager.Resolve(); foreach (var state in reflectionManager.GetAllChildren(typeof(IAiState))) { _aiStates.Add(state); } DebugTools.AssertNotNull(_aiStates); } } }