标题:
目前知道的方法:
1 mono层定义变量
A : public Action<int> mono2ET;
hotfixview层
B :
TestMono.mInstance.mono2ET = self.mono2ET;
public static void mono2ET(this OperaComponent self, int aa)
{ Log.Debug($“mono 2 eT {aa}”); }
请问大神,还有其他有效的调用方法吗
ET设定上是不允许下层调用上层的。可以用Invoke或这Event
7gxz 好的,多谢大佬,我试试 Invoke 调用
测试了Event 和 Func的方式是可以的,Invoke怎样使用呢
aaaaa 在Mono中定义Invoke的监听,在Hotfix调用EventSystem.Instance.Invoke。Invoke和Event类似,只是作用域不同,Event可以限定SceneType的作用域,但是Invoke与EventSystem是一体的,也就是说一个进程里只有一个EventSystem同样也就只有一个Invoke,所以同一个进程里当InvokeID和Invoke参数相同时,后加载的Invoke会覆盖掉前面的,可以看下ConfigLoader(一个在ModelView下,一个在ET工程服务器端的程序集里)
aaaaa 😅你理解的event是不是错了,我指的是EventSystem.Instance.Publish
7gxz 多谢大佬解答
7gxz 哦哦,你这么一说,应该是我理解错了。我一直以为是Unity.Mono里面的Evnet