UnityEvent可以接受注册监听事件,按钮的点击方法一般都是通过这个监听事件去实现响应;
自定义Hololens中的按钮,PressableButton脚本中的ButtonPressed。通过其中的Event来实现点击方法并且传参
无参方式
Prefab.GetComponent<PressableButton>().ButtonPressed.AddListener(handle);
带参数方式
Prefab.GetComponent<PressableButton>().ButtonPressed.AddListener(() => { handle(Para); });
接收到监听事件之后就可以在方法中实现想要的逻辑,例如实现物体的显示和隐藏
public void handle(string Para)
{
Debug.Log("run here");
//隐藏\显示界面
GameObject root = GameObject.Find("fatherObject");
root.transform.Find("path/sonObject1").gameObject.SetActive(false);
root.transform.Find("path/sonObject2").gameObject.SetActive(true);
//参数
Debug.Log(Para);
}