Unity 设计模式之单例模式
在Unity中,我们分两种单例,一种是继承Monobehaviour的单例,一种是普通单例。
1、MonoBehaviour单例
其实在Unity 中,如果脚本是继承monobehaviour,那么使用起单例来更加简单。
using UnityEngine;
using System.Collections;
public class GameStart : MonoBehaviour
{
private static GameStart _instance;
public static GameStart Instance{get{return _instance;}}
void Awake()
{
_instance = this;
}
}
2、普通类的单例类
using UnityEngine;
using System.Collections;
public class GameStart
{
private static GameStart _instance;
public static GameStart Instance;
{
get
{
if (null == _instance)
_instance = new GameStart();
return _instance;
}
}
}
Unity中实现全局管理类的几种方式
纯C#的单例类
- 普通的写法(不考虑多线程)
- 线程安全的写法
基于MonoBehaviour的单例类
- 普通的写法
- 持久化的写法