csharp SingletonClass for Unity

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp SingletonClass for Unity相关的知识,希望对你有一定的参考价值。

using UnityEngine;
 
public class SingletonMonoBehaviour<T> : MonoBehaviour where T : SingletonMonoBehaviour<T>
{
	protected static T instance;

	/// <summary>
	/// インスタンスの取得
	/// </summary>
	public static T Instance {
		get {
			if (instance == null) {
				instance = (T)FindObjectOfType (typeof(T));
				if (instance == null) {
					Debug.LogWarning (typeof(T) + "is nothing");
				}
			}
			
			return instance;
		}
	}
	
	/// <summary>
	/// シーン開始時にインスタンスの生成をおこなう
	/// </summary>
	protected void Awake() {
		CheckInstance();
	}
	
	/// <summary>
	/// インスタンスが存在するかのチェック
	/// </summary>
	/// <value> なければ新たに生成 </value>
	protected bool CheckInstance() {
		if( instance == null) {
			instance = (T)this;
			return true;
		} else if( Instance == this ) {
			/// シーンを通して存在できるように
			DontDestroyOnLoad (this.gameObject);
			return true;
		}
 
		Destroy(this);
		return false;
	}
}

以上是关于csharp SingletonClass for Unity的主要内容,如果未能解决你的问题,请参考以下文章

csharp 基本for循环的示例。

csharp 循环(while,for,do)

csharp 如何使用for循环反转数组的示例。

csharp 如何使用for循环反转数组的示例。

单子类模型

使用NDK for Android编译GRPC的CSharp扩展