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