我可以为列表onClick创建具有分组方法的自定义区域,如动态和静态?像这样
发布于 2021-03-22 09:42:56
是和不是!^^
UnityEvent。
有关动态参数化的参数,请参见UnityEvent到UnityEvent,这取决于您需要多少参数。
对于具有单个int的示例,它将是(与API示例完全相同)。
//由于联合不支持泛型的直接序列化,您必须实现这个可序列化的包装器,可序列化的公共类MyIntEvent : UnityEvent {}公共类ExampleClass : MonoBehaviour { public MyIntEvent m_MyEvent;}
UI.Button.onClick的现有实现,这是无参数的。
然而,您可以做的是构建一个新组件并将其附加到如下所示的按钮上
RequireComponent( Button )公共类ExampleClass : MonoBehaviour { SerializeField private Button _button;public MyIntEvent onClickWithIntParameter;private void (){ if(! _button ) _button= GetComponent();_button.onClick.AddListener(HandleOnClick);} private void (){ //无论您从var值=123获得int;onClickWithIntParameter.Invoke(值);}}发布于 2022-08-11 18:52:35
在[Serializable]不适用的情况下,可以尝试在顶部使用[System.Serializable]或using System;。
https://stackoverflow.com/questions/66743363
复制相似问题