⭐ Unity 封装工具类 在非主线程中调用主线程的逻辑

① UnityMainThreadDispatcher作为工具类,用于在非主线程中将任务调度到主线程执行
using System;
using System.Collections.Generic;
using UnityEngine;

public class UnityMainThreadDispatcher : MonoBehaviour
{
    // 用于存储需要在主线程中执行的任务队列
    private static readonly Queue<Action> _executionQueue = new Queue<Action>();

    // 单例实例
    private static UnityMainThreadDispatcher _instance = null;

    // 获取单例实例的方法
    public static UnityMainThreadDispatcher Instance()
    {
        // 如果实例为空,尝试在场景中查找
        if (_instance == null)
        {
            _instance = FindObjectOfType<UnityMainThreadDispatcher>();

            // 如果场景中没有找到,创建一个新的 GameObject 并附加此脚本
            if (_instance == null)
            {
                _instance = new GameObject("UnityMainThreadDispatcher").AddComponent<UnityMainT

猜你喜欢

转载自blog.csdn.net/weixin_53501436/article/details/145570033
今日推荐