我在 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 情况吗?谢谢!