Lua在C#这边进行的基本操作
在热更新核心脚本【LuaBehaviour】。
LuaBehaviour继承自View 视图层
我们只需要关注生成的【函数名】、【参数列表】、【返回值】,怎么生成的不需要知道
我们核心目的是看框架逻辑。
LuaBehaviour这个脚本,是所有面板都会挂载的一个脚本【误?】
一出现这个面板就会执行Awake方法
把当前对象名 , 要执行的方法名,当前这个对象传入到CallMethod中
String module 是当前游戏对象的名字,
String func 是要执行的方法,
Params object[] args 可变参数的object类型
这一句获取了一个Lua管理器,我们也不关心是怎么获取的,反正就是获取到了
CallFunction里面的就是【当前游戏对象名字.{点上一个}传入的方法名】
以上就是对Lua文件,是如何在C#这边进行一个小处理
正片
CtrlManager.lua
要在这里进行写要进行加载的面板,例如,我们要在这里加载Main面板和Role面板
添加进去之后,它会进行判断这个控制器为不为空,不为空并且ExampleMode = 1 然后就去执行这个控制器里面的Awake函数【执行到了控制器中的Awake的方法就可以执行一系列的方法】
这个Awake函数,用面板管理器【PanelManager】去创建一个面板 ( CreatePanel 是 面板管理器的一个方法,这个C#那边注册好的Wrap文件【包装】 )
panelMgr:CreatePanel(‘Prompt’, this.OnCreate );
【第一个形参指的是{要创建出来的面板名 – 无需加Panel -}
,this.OnCreate是每个控制器它自己的一个方法】
跳转到C#那边的PanelManager类
一旦这个面板加载成功,