Files
tbd-station-14/Content.Server/AI/WorldState/BlackboardManager.cs
Acruid ca4fd649fe Massive Namespace Cleanup (#3120)
* Engine namespace changes.

* Automated remove redundant using statements.

* Simplified Graphics namespace.

* Apparently the container system stores full type names in the map file.😞 This updates those names.

* API Changes to LocalizationManager.LoadCulture.

* Update submodule to v0.3.2
2021-02-11 01:13:03 -08:00

32 lines
862 B
C#

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