LuaFrameWork的个人分析

本文详细分析了LuaFrameWork如何在C#环境中工作,重点讲解了LuaBehaviour在热更新中的作用,以及CtrlManager.lua如何加载面板。通过C#的PanelManager创建和管理面板,LuaHelper获取管理类,最终实现界面的创建和点击事件的注册。同时提到了客户端与服务器交互以及一个简单的背景滚动代码示例。
摘要由CSDN通过智能技术生成

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

 

一旦这个面板加载成功,

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值