2D-Platformer/Assets/Scripts/AI/GoapInitializationSystem.cs
2022-02-12 12:53:50 +02:00

30 lines
No EOL
672 B
C#

using AI.FSM;
using Unity.Entities;
namespace AI
{
[UpdateInGroup(typeof(InitializationSystemGroup))]
public class GoapInitializationSystem : ComponentSystem
{
private EntityQuery query;
protected override void OnCreate()
{
query = GetEntityQuery(ComponentType.Exclude<FsmState>(), ComponentType.ReadOnly<GoapAgentData>());
}
protected override void OnUpdate()
{
Entities.With(query)
.ForEach(
(Entity entity, GoapAgentData agent) =>
{
if (agent.Actions != null)
{
PostUpdateCommands.AddComponent(entity, new FsmState());
PostUpdateCommands.AddComponent(entity, new IdleState());
}
});
}
}
}