基类单例类:
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;
#endregion
#region Attributes
#endregion
public void PlayBackgr

本文介绍了如何在Unity3D中利用C#实现单例模式,以确保游戏对象的唯一性和持久存在,从而优化游戏资源管理和状态保持。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



