luaframework

LuaFrameWork的个人分析

匿名 (未验证) 提交于 2019-12-03 00:19:01
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】去创建一个面板 (

Unity3D热更新之LuaFramework篇[10]--总结篇

匿名 (未验证) 提交于 2019-12-02 23:52:01
背景 19年年初的时候,进到一家新单位,公司正准备将现有的游戏做成支持热更的版本。于是寻找热更方案的任务就落在了我头上。 经过搜索了解,能做Unity热更的方案是有好几种,但是要么不够成熟,要么不支持iOS平台,相对来说,还是用Lua来实现比较靠谱。 而Lua的热更方案也有好几种:xLua、toLua和sLua。 其中xLua擅长打补丁,sLua难以理解,而toLua因为有着LuaFramework的存在,入门门槛低,因此我就选择了toLua(LuaFramework)。 由于对Lua语言不太熟悉,又对热更没啥概念,tolua也没啥文档,说是门槛低,但对当时的我说来,想入门还是很困难的。 边学边做,差不多花了一个月的时间才理顺了框架。 在这个过程中,我花了很多时间在网上搜索相关资料,但是找到的有用的资料甚少,大部分都是浅尝辄止的学习教程,深入使用的和剖析的极少。 没有人能告诉你哪里该怎么做,下一步应该做什么。 有感于此,在我入门的三个月后,决定将我的LuaFramework学习之路记录下来,一是为了锻炼一下自己的表达能力,二是希望我的学习经历能对后来人有所帮助。因此才有了这一系列文章。 本系列文章重在操作,而少讲原理。一是我自己也只勉强学会了使用,对原理理解并不透彻,怕误导他人;二是觉得先用起来,然后再回头去理解原理是一种更适合的方式。 文章内容有点浅