TheInitialProject/Assets/Scripts/UI/UIMgr/InformMainThread.cs
2024-10-23 16:59:02 +08:00

32 lines
814 B
C#

using System.Collections.Concurrent;
using UnityEngine;
public class InformMainThread : MonoBehaviour
{
public static InformMainThread Instance;
public ConcurrentQueue<eInformId> informIdCache = new ConcurrentQueue<eInformId>();
public ConcurrentQueue<string> informIdLuaCache = new ConcurrentQueue<string>();
private void Awake() {
Instance = this;
}
private void Update() {
while (informIdCache.TryDequeue(out eInformId id) == true) {
Inform.Dispatch(id);
}
//while (informIdLuaCache.TryDequeue(out string idLua) == true) {
// XLuaManager.Instance.DoString("LuaGame.inform:Dispatch(\"" + idLua + "\")");
//}
}
public void Dispatch(eInformId _informId) {
informIdCache.Enqueue(_informId);
}
public void DispatchLua(string _informId) {
informIdLuaCache.Enqueue(_informId);
}
}