initial upload

This commit is contained in:
tom.hempel
2025-09-30 17:58:33 +02:00
commit 69b0c79692
4818 changed files with 229318 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);
}
}
}
}