在项目中若经常使用到单例,不妨使用单例工厂模式,来提高效率。
具体使用就直接创建个Singleton.ts脚本,内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
public class Singleton<T> where T : new() { private static readonly object sycObj = new object(); private static T t; public static T Instance { get { if (t == null) { lock (sycObj) { if (t == null) { t = new T(); } } } return t; } } } |
然后就可以继承该类使用了。
1 2 3 4 5 6 7 8 9 10 |
using UnityEngine; using System.Collections; public class Test : Singleton<Test> { public void Print() { Debug.Log("单例输出啦"); } } |
按照我们往常的方法调用就可以了
1 2 3 4 5 6 7 8 9 10 |
using UnityEngine; using System.Collections; public class NewBehaviourScript : MonoBehaviour { void Start() { Test.Instance.Print(); } } |
- 本文固定链接: http://www.u3d8.com/?p=994
- 转载请注明: 网虫虫 在 u3d8.com 发表过