LuaFramWork

本文详细介绍了LuaFramework的Demo加载流程,从Main开始,通过StartUpCommand执行Game.lua的OnInitOK方法,实例化Ctrl层脚本并调用Awake方法。接着,概述了LuaFramework的打包过程,强调了在Packager.cs中自定义BuildAssetResource以添加所需资源的步骤和限制。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


LuaFrameWork Demo加载流程

1、一开始从Main开始执行,对象名字一定要规范为“GameManager”,当然如果想要修改名字,可以在Facade类中的AppGameManager属性下修改
2、在InitFramework中注册NotiConst.START_UP后,然后发送消息并执行StartUpCommand类在这里插入图片描述
3、收到SendMessageCommand(NotiConst.START_UP)命令后,StartUpCommand开始执行下面的代码,在“GameManger”的对象上添加脚本在这里插入图片描述
4、来到GameManager类,当初始化完成后,回调OnInitialize()方法,执行lua脚本中的Game.lua和其中的OnInitOK方法
在这里插入图片描述
5、来到Game.lua,上图的Util.CallMethod(“Game”,“OnInitOk”)调用了Game.lua中的 function Game.OnInitOK()这个方法,也就是下图所示其中有两个比较重要的调用
在这里插入图片描述
6、我们先来看看InitViewPanels,这个方法是require–>"View"文件夹下所有已经添加的PanelName。这里想必大家很好奇PanelNames和上图5中的CtrlName变量时从哪里来的
在这里插入图片描述
7、“Lua/Common/define.lua”中,CtrlNames代表的是Ctrl层下的lua文件,
PanelNames代表的是View层下的lua文件
在这里插入图片描述
8、回到Main.lua,这里调用了CtrlManager.init(),目的是实例化Ctrl层的Lua脚本,并且加入到控制器列表。然后执行Ctrl对应的脚本(PromptCtrl)的Awake方法在这里插入图片描述
9、PromptCtrl.Awake这里调用了C#脚本的PanelManager.CrteatePanel方法,即下图所示的panelMgr:CreatePanel,还有回调方法OnCreate()。
图中的panelMgr和resMgr均为C#脚本的静态类,在Define.lua中有定义
注:PanelManager.CrteatePanel()方法创建了一个panel的gameobject后会添加LuaBehaviour的类,而LuaBehaviour里的Awake和Start会自动调用panel.lua里的Awake和Start方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值