用于选择要调用的函数的Inspector变量(Unity3D)

时间:2014-04-02 15:28:22

标签: unity3d unityscript

NGUI的最新版本有这个很棒的工具,可以让你在点击它时调用任何目标脚本中的哪个功能。

基本上,它是检查器中的一个选择框,可以自动填充附加到游戏对象的所有脚本中的所有函数。

如何生成像这样自动填充的功能列表?

我不想要维护包含所有可能功能的枚举(包括当前对象可能没有的功能)

我试着查看使用过的NGUI代码,但现在对我来说有点太复杂了。

1 个答案:

答案 0 :(得分:2)

如果你想在NGUI中这样做,那么使用NGUI本身可用的工具并定义一个这样的公共变量:

public List<EventDelegate> DelegateList = new List<EventDelegate>();

通过此操作,您可以在Inspector字段中删除MonoBehaviour脚本,然后可以选择该脚本中包含的公共方法/委托。

然后您可以像这样调用它们:

void Start() {
  EventDelegate.Execute(DelegateList);
}

现在将调用委托列表中的每个方法。例如,您可以在UIButton脚本中看到这一点,其中这用于处理OnClick委托。