059 シングルトンクラスについてのSingletonクラスを SYSTEM_INSTANCES変数の中に記述するだけで起動時にそれらを自動生成します。
using UnityEngine; using System; //===================================================================================== // class SystemInstance //===================================================================================== public class SystemInstance : Singleton<SystemInstance> { //===================================================================================== // constant //===================================================================================== // シングルトンクラスを宣言します。 private static Type[] SYSTEM_INSTANCES = { typeof( Fader ), }; //------------------------------------------------------------------------------------- // Initialize //------------------------------------------------------------------------------------- protected override void Initialize() { Debug.Log( "Instantiate Systems." ); int num = SYSTEM_INSTANCES.Length; for( int i=0; i < num; ++i ) { Type class_type = SYSTEM_INSTANCES[ i ]; var obj = new GameObject(); obj.transform.parent = this.transform; obj.transform.name = class_type.Name; obj.AddComponent( class_type ); } } }
複数種類のシングルトンクラスが存在していても、 このクラスを一つだけGameObjectにアタッチしておけば良い様になります。 シングルトンクラス管理用のシングルトンクラスって感じです。便利。