基于unity的单例设计模式写法

设计模式有23中,都是为了解藕设计的。就先拿单例设计模式说说把。因为平常最起码你也得用到单例设计先弄一个泛型的单例模板代码如下:

 1 //泛型的单例设计模式。项目中用的多
 2 public class GameController<T> : MonoBehaviour where T :GameController<T> {
 3     private static T _instance;
 4     public static T Instance
 5     {
 6         get
 7         {
 8             if (_instance == null)
 9             {
10                 _instance = FindObjectOfType<T>();
11             }
12             return _instance;
13         }
14     }
15 }

再写一个脚本把函数继承自这个单例脚本就可以了

 1 public class GameStart : GameController<GameStart> {
 2 
 3     public void Show(GameObject go)
 4     {
 5         go.SetActive(true);
 6 
 7     }
 8     void Awake()
 9     {
10        
11         Debug.Log(11);
12     }
13 }

然后我这个脚本因为继承了泛型单例,它就是一个单例了。然后我在弄个脚本就可以调用了。

1 public class XXX : MonoBehaviour {
2 
3     public GameObject prefabs;
4     void Start () {
5         GameStart.Instance.Show(prefabs);
6     }
7     
8 }

posted on 2016-11-17 16:51  萨瓦迪卡麦兜兜  阅读(580)  评论(0编辑  收藏  举报

导航