initial upload

This commit is contained in:
tom.hempel
2025-09-21 22:42:26 +02:00
commit d03bcd4ba5
6231 changed files with 351582 additions and 0 deletions

View File

@ -0,0 +1,40 @@
using System;
using System.Collections.Generic;
using UnityEngine;
namespace Convai.Scripts.Runtime.Utils
{
public class MainThreadDispatcher : MonoBehaviour
{
private readonly Queue<Action> _actions = new();
public static MainThreadDispatcher Instance { get; private set; }
private void Update()
{
lock (_actions)
{
while (_actions.Count > 0)
{
Action actionToInvoke = _actions.Dequeue();
actionToInvoke?.Invoke();
}
}
}
public static void CreateInstance()
{
Instance = new GameObject("MainThreadDispatcher").AddComponent<MainThreadDispatcher>();
DontDestroyOnLoad(Instance.gameObject);
}
public void RunOnMainThread(Action action)
{
lock (_actions)
{
_actions.Enqueue(action);
}
}
}
}