Unityで動的に関数を追加実行したい時の方法



var RegisterFunc : List.<function( )>;


こんな風に、関数のリストを宣言する。


これを


Updateの中で


for (var i:int =0; i < RegisterFunc .Count; i++) {
RegisterFunc [i]( );
}

こんな感じでForでリストの数だけ回せばいい。


リストに追加するときは、


function hoge

{


}


RegisterFunc.Add( hoge );


でhoge関数を追加する


例えば、文字列で関数を登録したい場合は、


var StrRegisterFunction = {};


StrRegisterFunction["hoge"] = hoge;


RegisterFunc.Add( StrRegisterFunction["hoge"] );


で登録できる。


"hoge"の部分を変数にすれば、いい感じになる。