====== 060 シングルトンクラスの自動生成 ====== ===== 概要 ===== [[wiki:unity:tips:059]]のSingletonクラスを SYSTEM_INSTANCES変数の中に記述するだけで起動時にそれらを自動生成します。 ===== ソースコード ===== using UnityEngine; using System; //===================================================================================== // class SystemInstance //===================================================================================== public class SystemInstance : Singleton { //===================================================================================== // 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にアタッチしておけば良い様になります。 シングルトンクラス管理用のシングルトンクラスって感じです。便利。 参考:[[http://posposi.blog.fc2.com/blog-entry-271.html|Post Position 【Unity】 各シングルトンクラスを起動時に自動生成するスクリプト]]