Add utility AI (#806)

Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
This commit is contained in:
metalgearsloth
2020-06-18 22:52:44 +10:00
committed by GitHub
parent 9b8cedf6c6
commit 5391d3c72a
211 changed files with 10335 additions and 527 deletions

View File

@@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
using Robust.Shared.Interfaces.Reflection;
using Robust.Shared.IoC;
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 List<Type> _aiStates = new List<Type>();
public void Initialize()
{
var reflectionManager = IoCManager.Resolve<IReflectionManager>();
foreach (var state in reflectionManager.GetAllChildren(typeof(IAiState)))
{
_aiStates.Add(state);
}
DebugTools.AssertNotNull(_aiStates);
}
}
}