NGUI ボタンに引数を添える
ボタンに引数を添えて押した時の処理を呼び出す方法。
EventDelegateを使用する。Delegateって継承だっけ。
とりあえず細かい部分は棚上げしてのやり方。
※1 UiButtonType = ENUMで定義している独自型。
※2 uam = ボタン押した時に呼び出したい関数が入っているコンポーネントスクリプト
※3 uiBtn[0] = ボタンオブジェクトに付いているUIButtonコンポーネント
投手側
string stringMessage = "varvar"; UiButtonType btnType = UiButtonType.MOVE; EventDelegate eveDelg = new EventDelegate(uam, "ButtonClickAction"); eveDelg.parameters[0].value = btnType; eveDelg.parameters[1].value = "StringMessage"; uiBtn[0].onClick.Add(eveDelg);
捕手側
public void ButtonClickAction(UiButtonType arg1, string arg2)
parameters[x]が引数の順番を制御してるっぽい。型の確認ができないのがちと不安ではある。
EventDelegate.targetとかEventDelegate.ParameterのSetValueとか使えそうな関数もあるけど姑息に用を足すだけなら上記の文だけでなんとかなるっぽい。
参考:http://www.tasharen.com/ngui/docs/class_event_delegate_1_1_parameter.html