using System.Collections; using System.Collections.Generic; using UnityEngine; using ZenFulcrum.EmbeddedBrowser; namespace Mannager { public class test : MonoBehaviour { Browser browser; public UiMannager uiMannager; void Start() { this.InitData(); //uiMannager = UiMannager.GetInstance(); } private void Awake() { //获取插件Browser组件(Unity方使用插件基础一步) browser = gameObject.GetComponent<Browser>(); } // Update is called once per frame void Update() { if (Input.GetKey(KeyCode.H)) { browser.CallFunction("checkUi", "lampPanel").Done(); //uiMannager.CallFunction("lampPanel"); } } public void InitData() { browser.RegisterFunction("testAgain", (JSONNode jk) => { Debug.Log(jk[0].Value); }); } } } 添加多个方法监听
时间: 2024-02-10 16:12:23 浏览: 107
详解java Collections.sort的两种用法
要添加多个方法监听,可以在 RegisterFunction 方法中传递一个委托数组,将多个方法都注册到同一个事件上。具体代码如下:
```csharp
public void InitData() {
browser.RegisterFunction("testAgain", new JSONNodeDelegate[] { OnTestAgain1, OnTestAgain2 });
}
private void OnTestAgain1(JSONNode jk) {
Debug.Log("OnTestAgain1: " + jk[0].Value);
}
private void OnTestAgain2(JSONNode jk) {
Debug.Log("OnTestAgain2: " + jk[0].Value);
}
```
在这个例子中,我们将 OnTestAgain1 和 OnTestAgain2 两个方法都注册到了名为 "testAgain" 的事件上。当事件被触发时,这两个方法都会被执行。
注意,由于 RegisterFunction 方法的第二个参数是委托数组,因此需要使用花括号来创建一个委托数组,并将多个委托作为数组元素传递进去。同时,这些委托方法的参数类型必须与 JSONNodeDelegate 委托类型的参数类型相同,否则编译会报错。
阅读全文