欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

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#单例模式的实现的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。