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 の状況をどのように処理していますか? ありがとう!