基类单例类:
using UnityEngine;
using System.Collections;
public class SingleClass<T> : MonoBehaviour where T: MonoBehaviour{
private static T _instance;
/// <summary>
/// Gets the instance.
/// </summary>
/// <returns>The instance.</returns>
public static T GetInstance() {
if (_instance == null) {
GameObject obj = new GameObject();
obj.name = typeof(T).ToString();
_instance = obj.AddComponent<T>();
DontDestroyOnLoad(obj);
}
return _instance;
}
}
使用方法:(实例化一个管理音效的对象)
using UnityEngine;
using System.Collections;
public class AudioManager : MonoBehaviour {
#region variable
private static AudioSource bgmSource;
private static AudioManager _instance;
#endregio