今天学习了一个比较不错的单例模式
1 public class UnitySigleton <T>: MonoBehaviour where T:class 2 { 3 public static T instance; 4 5 protected virtual void Awake(){ 6 if (instance != null) { 7 DestroyImmediate (this); 8 return; 9 } else 10 instance = this as T; 11 } 12 13 protected virtual void OnDistroy(){ 14 T t = this as T; 15 if (this == t) { 16 instance = null; 17 } 18 } 19 }
但是这种单例,脚本需要手动挂在场景中!
本文介绍了一种在Unity中实现单例模式的方法。通过定义泛型类`UnitySingleton<T>`,确保了在整个游戏运行期间只有一个实例存在。该模式在脚本挂载到场景时会自动初始化,如果检测到重复实例,则会销毁当前实例。但需要注意的是,使用此单例模式时,必须手动将脚本挂载到场景中。
3829

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



