APM/Assets/Scripting/Robot/UnityMainThreadDispatcher.cs
2025-11-17 15:02:30 +07:00

20 lines
435 B
C#

using System;
using System.Collections.Concurrent;
public static class UnityMainThreadDispatcher
{
private static readonly ConcurrentQueue<Action> _executionQueue = new();
public static void Update()
{
while (_executionQueue.TryDequeue(out var action))
{
action?.Invoke();
}
}
public static void Enqueue(Action action)
{
_executionQueue.Enqueue(action);
}
}