当前位置: 首页 > article >正文

【LuaFramework】LuaFramework_UGUI_V2框架学习

GitHub - jarjin/LuaFramework_UGUI_V2: 基于tolua的热更新框架V2

旧版本是Unity 5.0,这个是新版本支持更高版本的

导入工程后先清除wrap 然后重新生成wrap,你会发现有个报空null,框架的问题总结下所有的框架wrap相关报错问题和修复方法:

CustomSettings.cs脚本搜ParticleSystem,注释掉一行

_GT(typeof(ParticleSystem)),

ToLuaExport.cs脚本搜memberFilter列表初始化添加以下代码:

        "QualitySettings.streamingMipmapsRenderersPerFrame",
        "MeshRenderer.scaleInLightmap",
        "MeshRenderer.receiveGI",
        "MeshRenderer.stitchLightmapSeams",        
        "Light.SetLightDirty",

这些类、类成员、类方法都不支持生成wrap,如果你想要使用它们,可以自定义一个C#脚本去间接地使用它们,也就是做个适配器,自定义的脚本要放入CustomSettings.cs的customTypeList列表中,不然是无法生成wrap交给Lua使用的。

紧接着执行如下图,生成资源文件,不生成无法执行项目,搜索"main"场景执行。

启动游戏时会执行StartUp方法发送START_UP事件,执行StartUpCommand类的方法

Util.CheckEnvironment()是检查是否执行过Build xxx Resource导出资源的,没有会关停游戏。

场景搜索“GlobalGenerator”发现是找不到的,因此AppView没有生成

可以发现是一个名为NetworkManager的服务器管理类进行派发服务器消息给到SocketCommand处理。

C#侧调用lua侧的Network.OnSocket(key, value)方法,可以直接找Network.lua文件打开找到OnSocket方法如下

Event.Brocast是Lua侧的事件派发,事件名是key,数据是data
我们可以使用idea打开Lua所在的根目录文件夹,并且搜索Event.AddListener获知有哪些监听。

里面分别对应的代码就不阐述了,回过来看其他框架行为,即StartUpCommand.cs脚本

生成管理器:AppFacade.Instance.AddManager<LuaManager>(ManagerName.Lua);
获取管理器:LuaManager mgr = AppFacade.Instance.GetManager<LuaManager>(ManagerName.Lua);

其他与V1版本看着是差不多,如果有差别可以检查下,V1版本原文:

LuaFramework 2018版本 小结_luaframework 最新-CSDN博客

服务器框架部分【LuaFramework】服务器模块相关知识-CSDN博客


http://www.kler.cn/a/450285.html

相关文章:

  • vue中proxy代理配置(测试二)
  • Selenium 和 Playwright两大框架的不同之处
  • Windows 11 安装 Dify 完整指南 非docker环境
  • 合合信息:探索视觉内容安全新前沿
  • 【Mac】安装 PaddleOCR
  • helm的介绍和安装
  • 精彩回顾|在2024全球智博会 Semantic Kernel 开发者日中国站开启企业全智能化应用场景
  • 【超详细实操内容】django的身份验证系统之用户登录与退出
  • 转型云,转型AI,转型大模型,微软为什么如此人间清醒?
  • iClient3D for Cesium在Vue中快速实现场景卷帘
  • 202411 第十六届蓝桥杯青少组 STEMA 考试真题 汇总
  • JavaScript--WebAPI查缺补漏
  • 绿盟CSSP靶场-挂载虚拟化磁盘
  • Android Bootable Recovery 中的 `freecache.cpp` 文件详解
  • Java成长之路(一)--SpringBoot基础学习--SpringBoot代码测试
  • iDP3复现代码数据预处理全流程(二)——vis_dataset.py
  • 解决“SVN无法上传或下载*.so、*.a等二进制文件“问题
  • 汽车经销商门店管理新趋势:信息化工具助力精益运营
  • 网安入门|前端基础之Html_css基础
  • idea2024创建JavaWeb项目以及配置Tomcat详解
  • 水利水电安全员考试题库及答案
  • 捋一捋相关性运算,以及DTD和NLP中的应用
  • 【超详细实操内容】django的身份验证系统之权限与权限管理
  • 【漏洞复现】CVE-2021-45788 SQL Injection
  • Ansible 批量管理华为 CE 交换机
  • 高性能卡尺找圆工具