万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・寄付お願いします
    YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
    BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
    c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1

NGUI UnityでボタンのUIEventTriggerでのEventDelegate

http://d.hatena.ne.jp/shinriyo/20140513
のとだいたい同じ。

面倒ならこのようなメソッドを作って、返り値を代入でもいいと思う。

    private List<EventDelegate> CreateDelegate (MonoBehaviour target, string methodName, GameObject go)
    {
        List<EventDelegate> list = new List<EventDelegate>();
        EventDelegate myDelegate = new EventDelegate ();
        myDelegate.target = target;
        myDelegate.methodName = methodName;
        list.Add (myDelegate);
        EventDelegate.Parameter param = myDelegate.parameters[0];
        param.obj = go;
        return list;
    }

・onHoverOverイベントとして代入

        UIEventTrigger hogeTrigger = moveLeft.GetComponent<UIEventTrigger>();
        hogeTrigger.onHoverOver = CreateDelegate (targetMono, "OnTap", hogeGo);

targetMonoというMonoBehaviorのOnTap()メソッドに引数hogeGoを代入している。