0

StrangeIoC フレームワークで ngui イベントをバインドする際に問題があります。

これは unityGUI のサンプルです:

public class TestView : View
{
    private readonly Rect buttonRect = new Rect(0, 0, 200, 50);
    public Signal buttonClicked = new Signal();

    public void OnGUI()
    {
        if (GUI.Button(buttonRect, "Test"))
        {
            buttonClicked.Dispatch();
        }
    }
}

これは NGUI バージョンです。

public class NGUIView : View
{
    public UIButton Button;
    public Signal buttonClicked = new Signal();


    private void Start()
    {
        if (Button != null)
        {
            EventDelegate.Add(Button.onClick, buttonClicked.Dispatch);
        }
    }
}

NGUI バージョンでは、buttonClicked はディスパッチされません。シーンで、そのボタンの Notify プロパティの値が空のことに気付きました。

これは機能しますが、buttonClickedが数回トリガーされます:(

public class NGUIView : View
{
    public UIButton Button;
    public Signal buttonClicked = new Signal();


    void Update()
    {
        if (Button.state == UIButtonColor.State.Pressed)
        {
            buttonClicked.Dispatch();
        }
    }
}

この NGUI-StrangeIoC の状況をどのように処理していますか? ありがとう!

4

1 に答える 1