该项目是一个基于tolua纯lua开发的U3D手游客户端框架
项目说明
功能
纯Lua开发业务逻辑,只要C#底层不改动,直接打AB包导出至服务端即可实现热更新
可以在线下载、断点续传,大文件资源传输容错率更高
具备广播、计时器、资源加载等常用游戏管理类
ui管理架构 自动管理层级、委托事件、AB包加载卸载等功能
以C#为底层支持异步的http、socket网络模块
通过protobuf格式传输数据,安全性及效率更高
架构图
工作流
- 通过
Step
场景里挂载的Main.cs
作为入口,添加tolua客户端组件LuaClient.cs
,再通过LuaClient.cs
加载lua入口文件main.lua
,开始纯lua调用 - 场景转换将触发
main.lua
内的OnLevelWasLoaded
函数,通过broadcast广播的形式,在ui.lua
监听,并创建scene_[name].lua
实例 - 场景实例中,通过
ui.showUI
的方式再次创建ui_[name].lua
实例,大部分的游戏逻辑,均写在UI实例中,个别需要绑定在具体物体上的逻辑,可以创建comp_[name].lua
实例。