【LuaFramework】LuaFramework_UGUI_V2框架学习

ops/2024/12/21 13:33:58/

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博客


http://www.ppmy.cn/ops/143766.html

相关文章

c# 后台任务自动执行

如果有些任务需要在后台自动执行&#xff0c;且时不时需要添加一个任务&#xff0c;且按照优先级顺序执行&#xff0c;那么可以参考本文的方法。 后台任务类 定义一个后台任务类BackgroundTaskThread&#xff0c;其中Start方法是用来启动任务的&#xff0c;循环查询是否有添加…

Spring Boot 技术详解:核心特性、运行方式与应用实践

1.为什么要用SpringBoot Spring Boot 是一个用于创建独立的、生产级别的基于 Spring 的应用程序的框架。它通过简化配置和依赖管理&#xff0c;使开发者能够快速上手并构建应用程序。以下是使用 Spring Boot 的一些主要原因&#xff1a; 自动配置&#xff1a;Spring Boot 会根…

数据挖掘与机器学习(part 9) 规则挖掘Rules Mining关联规则(Association Rules) Apriori算法

基于规则的分类器&#xff1a;Classification using rule based classifier 互斥规则&#xff08;Mutually exclusive rules&#xff09;&#xff1a; 分类器包含互斥规则&#xff0c;如果这些规则彼此独立。 每条记录最多被一条规则覆盖。 穷尽规则&#xff08;Exhaustive …

第一章 操作系统引论

本文总结了操作系统第一章的重点知识&#xff0c;非常时候预习和复习的小伙伴们。大家可以根据目录先考考自己能回忆起多少知识&#xff01; 目录 1、 理解操作系统的目标、作用和定义 2、 脱机 I/O 方式 3、 多道程序设计的概念及引入的原因 4、 多道批处理系统的优缺点 …

barin.js(十四)GRU实战教程 - 文本情感分析之有害内容检测

系列文章&#xff1a; &#xff08;一&#xff09;&#xff1a;brain.js概要介绍&#xff08;二&#xff09;&#xff1a;项目集成方式&#xff08;三&#xff09;&#xff1a;手把手教你配置和训练神经网络&#xff08;四&#xff09;&#xff1a;利用异步训练和交叉验证来优…

uniapp小程序抽奖怎么做?直接使用【almost-lottery转盘组件】或者【自定义宫格转盘】

直接使用almost-lottery 地址&#xff1a;GitHub - ialmost/almost-components_uniapp: uni-app 使用的多端组件集合&#xff0c;支持APP、H5、小程序uni-app 使用的多端组件集合&#xff0c;支持APP、H5、小程序. Contribute to ialmost/almost-components_uniapp developmen…

图书馆管理系统(四)基于jquery、ajax--完结篇

任务3.6 后端代码编写 任务描述 这个部分主要想实现图书馆管理系统的后端&#xff0c;使用 Express 框架来处理 HTTP 请求&#xff0c;并将书籍数据存储在一个文本文件 books.txt 中。 任务实施 3.6.1 引入模块及创建 Express 应用 const express require(express); cons…

同源策略:为什么XMLHttpRequest不能跨域请求资源?

一.浏览器安全 浏览器安全可以分为三大块——Web页面安全、浏览器网络安全****和浏览器系统安全 假设&#xff0c;如果页面中没有安全策略的话&#xff0c;Web世界会是什么样子的呢&#xff1f; Web世界会是开放的&#xff0c;任何资源都可以接入其中&#xff0c;我们的网站可…