当前位置:
首页 >
Unity C#单例模式的实现
发布时间:2025/4/5
40
豆豆
生活随笔
收集整理的这篇文章主要介绍了
Unity C#单例模式的实现
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
一、添加单例模板类
using UnityEngine;public class Singleton<T> : MonoBehaviour where T : MonoBehaviour {private static T _instance;private static object _lock = new object ();public static T Instance {get {if (applicationIsQuitting) {return null;}lock (_lock) {if (_instance == null) {_instance = (T)FindObjectOfType (typeof(T));if (FindObjectsOfType (typeof(T)).Length > 1) {return _instance;}if (_instance == null) {GameObject singleton = new GameObject ();_instance = singleton.AddComponent<T> ();singleton.name = "(singleton) " + typeof(T).ToString ();DontDestroyOnLoad (singleton);}}return _instance;}}}private static bool applicationIsQuitting = false;public void OnDestroy (){applicationIsQuitting = true;} }
二、定义自己的单例类
using UnityEngine; using System;public class GameManager : Singleton<GameManager> {public float score;void Awake () {this.Init();}private void Init() {// Init code } }
三、调用使用
GameManager.Instance.score = 99;
原文地址: http://blog.csdn.net/cocos2der/article/details/47335197
转载于:https://www.cnblogs.com/UnrealEra/p/5896592.html
总结
以上是生活随笔为你收集整理的Unity C#单例模式的实现的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: eclipse安装快速打开项目所在位置的
- 下一篇: C#泛型对类型参数的推断