Unity自定义类使用携程--自身不继承MonoBehaviour

Posted M丶随心

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity自定义类使用携程--自身不继承MonoBehaviour相关的知识,希望对你有一定的参考价值。

参考: https://www.jianshu.com/p/67f498cb839b

话不多说,直接上代码

 1 using System.Collections;
 2 using UnityEngine;
 3 
 4 
 5     internal class CoroutineManagerMonoBehaviour : MonoBehaviour
 6     {}
 7 
 8     public class CoroutineManager
 9     {
10         private static CoroutineManagerMonoBehaviour coroutineManagerMonoBehaviour;
11         //静态构造函数用于初始化任何静态数据,或执行仅需执行一次的特定操作。
12         //将在创建第一个实例或引用任何静态成员之前自动调用静态构造函数。
13         static CoroutineManager()
14         {
15             Init();
16         }
17 
18         public static void DoCoroutine(IEnumerator routine)
19         {
20             coroutineManagerMonoBehaviour.StartCoroutine(routine);
21         }
22 
23         private static void Init()
24         {
25             var g = new GameObject();
26             g.name = "CoroutineMangaer";
27             coroutineManagerMonoBehaviour = g.AddComponent<CoroutineManagerMonoBehaviour>();
28             GameObject.DontDestroyOnLoad(g);
29         }
30     }
View Code

 

使用方法:

在某个自定义类中使用

CoroutineManager.DoCoroutine(“自定义类中的携程方法”);

以上是关于Unity自定义类使用携程--自身不继承MonoBehaviour的主要内容,如果未能解决你的问题,请参考以下文章

Unity怎么在Editor下执行协程

Unity脚本类为啥要尽量避免继承MonoBehaviour类

如何自定义unity的inspector面板

Unity3D 接口使用

编辑器扩展基础3-自定义PropertyDrawer

UnityTools-自定义脚本模板