U3D手游框架 - 客户端

该项目是一个基于tolua纯lua开发的U3D手游客户端框架

已开源至GitHub:https://github.com/GrayGuardian/ggb-game-client

项目说明

功能

  1. 纯Lua开发业务逻辑,只要C#底层不改动,直接打AB包导出至服务端即可实现热更新

  2. 可以在线下载、断点续传,大文件资源传输容错率更高

  3. 具备广播、计时器、资源加载等常用游戏管理类

  4. ui管理架构 自动管理层级、委托事件、AB包加载卸载等功能

  5. 以C#为底层支持异步的http、socket网络模块

  6. 通过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实例。