找回密码
 立即注册
查看: 358|回复: 0

xlua-framework框架简介

[复制链接]
发表于 2021-11-19 17:00 | 显示全部楼层 |阅读模式
前言

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
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-25 13:49 , Processed in 0.090177 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表