using UnityEngine;
public class test:MonoBehaviour
{
public static test instance;
void Start()
{
instance = this;
}
}
public class test1
{
public static test1 instance;
public test1 GetInstance()
{
if(instance==null)
{
instance=new test1();
}
return instance;
}
}
Unity 通用单例类
using UnityEngine;
using System.Collections;
public class Singleton<T> : MonoBehaviour where T:MonoBehaviour
{
private static T instance;
public static T Instance
{
get{
if(instance==null)
{
print("null");
GameObject g=new GameObject("Singleton");
instance= g.AddComponent<T>();
}
return instance;
}
}
}
使用
using UnityEngine;
using System.Collections;
public class Singleapply : Singleton<Singleapply> {
public void ShowText(string str)
{
print (str);
}
void Start()
{
Singleapply.Instance.ShowText ("Hello");
}
}