unity当中的单例模式
时间: 2023-11-28 13:44:19 浏览: 105
unity中涉及的三种单例模式
在Unity中,单例模式是一种常见的设计模式,它可以确保一个类只有一个实例,并提供全局访问点。在Unity中,我们可以使用两种不同的单例模式:一个单纯的Singleton和一个MonoSingleton,继承于MonoBehaviour。
以下是一个单纯的Singleton的示例代码:
```csharp
public class Singleton
{
private static Singleton instance;
private Singleton() { }
public static Singleton Instance
{
get
{
if (instance == null)
{
instance = new Singleton();
}
return instance;
}
}
}
```
以下是一个MonoSingleton的示例代码:
```csharp
public class MonoSingleton<T> : MonoBehaviour where T : MonoBehaviour
{
private static T instance;
public static T Instance
{
get
{
if (instance == null)
{
instance = FindObjectOfType<T>();
if (instance == null)
{
GameObject obj = new GameObject();
obj.name = typeof(T).Name;
instance = obj.AddComponent<T>();
}
}
return instance;
}
}
}
```
使用单例模式的好处是可以确保在整个游戏中只有一个实例,这样可以避免出现重复的对象和数据。此外,单例模式还可以提供全局访问点,使得其他对象可以轻松地访问该实例。
阅读全文