所以我有一个库存,并且项目有我正在扫描的 MataData。尽管当我尝试将 public void 连接到按钮上的 OnClick 选择时,它没有显示,为什么? 代码片段:
public void ScanForFlashlightMetaData(string type, string Flashlight)
{
foreach (Slot slot in inventory)
if (slot.type == type && slot.metaData == Flashlight)
{
Debug.Log("Test");
}
}
分配给
ButtonClickEvent
的回调函数只能采用零个或一个参数(这就是当您删除它们时它会出现的原因)。
尝试在 here 寻找解决方法,或者考虑创建一个自定义
Button
类,该类使用支持最多四个参数的通用 UnityEvent<T0, T1, ...>
。
如果方法中有 0 或 1 个参数,答案是首先将 C# 脚本附加到游戏对象,然后将该游戏对象拖动到按钮的 OnClick() 事件下(选择“仅运行时”后),它将在此处注册所有可用的公共方法,如下所示: https://discussions.unity.com/t/function-not-appearing-in-onclick-editor/170565
如果您有多个参数(根据您的问题),那么 Gus Lindell 的答案很棒!我提供 0 或 1 个参数选项,因为搜索结果就是出现的!