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

用于选择要调用的函数的Inspector变量(Unity3D),unity3d,unityscript,Unity3d,Unityscript,NGUI的最新版本有一个很棒的工具,可以让你选择当你点击它时,目标脚本中的哪个函数将被调用 基本上,它是inspector中的一个选择框,可以自动填充附加到游戏对象的所有脚本中的所有函数 如何生成这样自动填充的函数列表? 我不想维护包含所有可能函数的枚举(包括当前对象可能没有的一些函数) 我试着查看NGUI使用的代码,但现在对我来说有点太复杂了。如果您想在NGUI中这样做,请使用NGUI本身提供的工具,并定义如下公共变量: public List<EventDelegate> Del

NGUI的最新版本有一个很棒的工具,可以让你选择当你点击它时,目标脚本中的哪个函数将被调用

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

如何生成这样自动填充的函数列表?

我不想维护包含所有可能函数的枚举(包括当前对象可能没有的一些函数)


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

如果您想在NGUI中这样做,请使用NGUI本身提供的工具,并定义如下公共变量:

public List<EventDelegate> DelegateList = new List<EventDelegate>();
void Start() {
  EventDelegate.Execute(DelegateList);
}

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

嗯,NGUI使用的代码是什么,为什么太复杂?要创建此功能,您可能需要理解这些代码!有些库使用,在这种情况下,您只需要函数名和一个可选参数。它可以工作,但性能不高。有可能是NGUI。