NGUI的最新版本有这个很棒的工具,可以让你在点击它时调用任何目标脚本中的哪个功能。
基本上,它是检查器中的一个选择框,可以自动填充附加到游戏对象的所有脚本中的所有函数。
如何生成像这样自动填充的功能列表?
我不想要维护包含所有可能功能的枚举(包括当前对象可能没有的功能)
我试着查看使用过的NGUI代码,但现在对我来说有点太复杂了。
答案 0 :(得分:2)
如果你想在NGUI中这样做,那么使用NGUI本身可用的工具并定义一个这样的公共变量:
public List<EventDelegate> DelegateList = new List<EventDelegate>();
通过此操作,您可以在Inspector字段中删除MonoBehaviour脚本,然后可以选择该脚本中包含的公共方法/委托。
然后您可以像这样调用它们:
void Start() {
EventDelegate.Execute(DelegateList);
}
现在将调用委托列表中的每个方法。例如,您可以在UIButton脚本中看到这一点,其中这用于处理OnClick委托。