什么是单例模式?
单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。
通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例什么时候能用到单例模式?
比如说存在一些个模块我们需要在整个游戏中随时随地的访问他,就可以用到单例模式了。
实际开发中比如做为管理UI的脚本UIManager,管理玩家信息的脚本PlayerManager都可以作为单例。
在unity中,我们分两种单例,一种是继承monobehavior的单例,一种是普通单例。
1.MonoBehavior单例
其实在unity中,如果脚本是继承monobehavior,那么使用起单例来更加简单。
只需要在Awake()里面,添加一句instance = this;
using UnityEngine;
using System.Collections;
public class test2 : MonoBehaviour {
public static test2 instance;
// Use this for initialization
void Awake () {
instance = this;
}
// Update is called once per frame
void Update () {
}
}
2.普通类的单例
using UnityEngine;
using System.Collections;
public class test2 {
private static test2 instance;
public static test2 Instance
{
get
{
if (null == instance)
instance = new test2();
return instance;
}
set { }
}
}