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

22 lines
No EOL
464 B
C#

using System;
using System.Collections.Concurrent;
using Unity.Entities;
namespace DefaultNamespace
{
public abstract class AdvancedComponentSystem : ComponentSystem
{
protected ConcurrentQueue<Action> PostUpdateActions = new ConcurrentQueue<Action>();
protected override void OnUpdate()
{
OnSystemUpdate();
while (PostUpdateActions.TryDequeue(out var action))
{
action.Invoke();
}
}
protected abstract void OnSystemUpdate();
}
}