kyuskoj 发表于 2021-11-19 17:00

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
页: [1]
查看完整版本: xlua-framework框架简介