xlua-framework框架简介

前言

xlua-framework框架,是一个纯lua的框架,基于XLua,整合ToLua的Proto-gen-lua,以及大部分ToLua作者整合的库,除了Assetbundle模块,大部分游戏逻辑全部用lua实现,目前实现的内容包括:

  • UI管理模块:使用UGUI,基于MVC架构,View层实现一套组件管理系统,提供类似于Unity侧Mono脚本的调度机制。
  • 场景管理模块:场景调度、Loading界面、资源预加载
  • 网络模块:Protobuff、TCP连接器
  • 资源管理模块:打包工具、资源热更、资源加载、资源缓存
  • 定时器管理
  • 协程管理
  • 配置表管理

工程目录

  • AssetBundles:AB打包输出目录

  • ConfigData:配置表目录

  • ProtoToCS:Proto文件目录

  • ProtoToLua:proto-gen-lua工作目录

  • Qudao:渠道目录

  • Tools:XLua工具目录

  • Xlua-lib-build:xlua库构建工程(另设Git项目:https://github.com/smilehao/xlua-lib-build。)

Assets目录说明

  • AssetsPackage:取代Resources目录,存放项目资源

  • EasyTouchBundle:EasyTouch插件

  • Editor:编辑器脚本

  • LuaScripts:Lua脚本

  • Plugins:插件

  • Reporter:真机日志输出插件

  • Scenes:场景

  • Scropts:CS脚本

  • StreamingAssets:AB打包资源

Lua脚本目录说明

  • Common:通用工具脚本,其中Tools目录下的脚本由ToLua迁移过来,其它脚本为自定义的扩展和工具类脚本

  • Config目录:配置文件目录,其中Data目录为Lua配置自动生成工具的输出目录

  • DataCenter:数据中心

  • Framework:框架基础脚本,这部分代码具有一定通用性,与游戏逻辑无关。

  • GameLogic:游戏逻辑脚本

  • GameTest:游戏测试脚本

  • Global:全局配置脚本

  • Net:网络逻辑相关脚本

  • Resource:资源逻辑相关脚本

  • Scenes:场景逻辑相关脚本

  • UI:UI逻辑相关脚本

  • UnitTest:单元测试

  • XLua:XLua热修复脚本,其中HotfixMain.lua为lua热修复逻辑入口。

  • GameMain:游戏逻辑入口

Scripts目录说明

  • XLua:其中Gen为生成脚本、Support为自定义支持脚本

  • FrameWork:框架基础脚本

  • 其它:Common通用模块、Config配置、GameLaunch游戏入口及资源热更、Platform渠道相关、Test测试和调试相关

游戏启动流程

  • 启动场景:LauchScene场景,场景启动后GameLaunch.cs脚本启动

  • 启动资源管理模块AssetBundleManager

  • 启动资源热更新模块AssetBundleUpdater

  • 资源热更新:如果需要更新,则更新完毕后重启资源管理器和Lua虚拟机(热修复模块)

  • 启动游戏:进入Lua脚本执行后续游戏逻辑

Lua端启动流程

  • GameMain.lua:lua的入口类,启动lua端的框架,如ConfigManager,DataManager,SceneManager,UIManager,UpdaterManager,等等
  • 加载场景:比如:LoginScene,打开UI页面比如:UILoginUI,接下来就可编写自己的逻辑和页面跳转了。

详细可参考框架demo:

xlua-framework:https://github.com/smilehao/xlua-framework

本人不才,由于项目需要,需要改写部分框架代码,所以自己又新建了仓库,做了部分的改动和升级,希望能够对你有所帮助吧:

xlua-framework-unity2018:https://github.com/passiony/xlua-framework-unity2018

猜你喜欢

转载自blog.csdn.net/qq563129582/article/details/120745232