技术好文:xluatips

简介: 技术好文:xluatips

"

1. LuaCallCSharp

  a. 标签(该方式方便,但在il2cpp下会增加不少的代码量,不建议使用)

【LuaCallCSharp】

public class A

{

}

  b. 静态列表(有时我们无法直接给一个类型打标签,比如系统api,没源码的库,或者实例化的泛化类型,这时你可以在一个静态类里声明一个静态字段,该字段的类型除BlackList和AdditionalProperties之外只要实现了IEnumerable就可以了(这两个例外后面具体会说),然后为这字段加上标签:)

【LuaCallCSharp】

public static List mymodule_lua_call_cs_list = new List()

{

typeof(GameObject),

typeof(Dictionary[span //代码效果参考:https://v.youku.com/v_show/id_XNjQwMDE4NzkxNg==.html

style=""color: rgba(0, 0, 255, 1)"">string, int

};

  这个字段需要放到一个静态类里头,建议放到Editor目录。

  c. 动态列表 (声明一个静态属性,打上相应的标签即可)

【LuaCallCSharp】

public static List LuaCallCSharp

{

get

{

return new List()

{

typeof(WaitForSeconds),

typeof(WWW)

};

}

}

  or

【Hotfix】

public static List by_property

{

get

{

return (from type in Assembly.GetExecutingAssembly().GetTypes()

where type.Namespace == ""XXXX""

select type).ToList();

}

}

  Getter是代码,你可以实现//代码效果参考:https://v.youku.com/v_show/id_XNjQwMDE5NTUwNA==.html

很多效果,比如按名字空间配置,按程序集配置等等。

这个属性需要放到一个静态类里头,建议放到Editor目录。

2. XLua.ReflectionUse

  反射访问除了性能不佳之外,在il2cpp下还有可能因为代码剪裁而导致无法访问,可以通过ReflectionUse标签来避免。一个C#类型类型加了这个配置,xLua会生成link.xml阻止il2cpp的代码剪裁。

3. ExtensionAttribute

4. XLua.CSharpCallLua

  如果希望把一个lua函数适配到一个C# delegate(一类是C#侧各种回调:UI事件,delegate参数,比如List:ForEach;另外一类场景是通过LuaTable的Get函数指明一个lua函数绑定到一个delegate)。或者把一个lua table适配到一个C#   interface,该delegate或者interface需要加上该配置。

5. XLua.GCOptimize


"
image.png
相关文章
|
存储 算法 安全
ssl 证书名词解释--crt和pem
ssl 证书名词解释--crt和pem
854 0
|
芯片
毕业设计 基于51单片机的手机蓝牙控制8位LED灯亮灭设计
毕业设计 基于51单片机的手机蓝牙控制8位LED灯亮灭设计
247 0
|
9月前
|
机器学习/深度学习 数据可视化 算法
YOLOv11改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
YOLOv11改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
1610 6
YOLOv11改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
|
9月前
|
存储 算法 数据挖掘
Pandas高级数据处理:数据压缩与解压
Pandas是数据分析的强大工具,尤其在处理大文件时,数据压缩技术至关重要。本文介绍如何使用Pandas进行数据压缩与解压,包括常见的gzip、bz2等格式。通过压缩技术,可以显著节省存储空间、加快传输速度并提高读写性能。文章还总结了常见问题及解决方案,如文件路径错误、不支持的压缩格式、内存不足和编码问题,帮助用户更高效地管理海量数据。
218 12
|
Prometheus 监控 Cloud Native
Spring Boot 性能护航!Prometheus、Grafana、ELK 组合拳,点燃数字化时代应用稳定之火
【8月更文挑战第29天】在现代软件开发中,保证应用性能与稳定至关重要。Spring Boot 作为流行的 Java 框架,结合 Prometheus、Grafana 和 ELK 可显著提升监控与分析能力。Prometheus 负责收集时间序列数据,Grafana 将数据可视化,而 ELK (Elasticsearch、Logstash、Kibana)则管理并分析应用日志。通过具体实例演示了如何在 Spring Boot 应用中集成这些工具:配置 Prometheus 获取度量信息、Grafana 显示结果及 ELK 分析日志,从而帮助开发者快速定位问题,确保应用稳定高效运行。
570 1
|
存储 搜索推荐 Java
ElasticSearch 的概念解析与使用方式(一)
ElasticSearch 的概念解析与使用方式(一)
386 1
|
前端开发 搜索推荐 JavaScript
"揭秘!Python高手如何用Sphinx玩转个人博客?从零搭建,美到犯规,技术干货一网打尽,让你的博客秒变网红级存在!"
【8月更文挑战第14天】Sphinx是Python社区中用于编写和技术分享的强大工具,以其易用性和美观的文档输出著称。本文介绍如何用Sphinx打造个性化博客。首先需安装Python、Sphinx及sphinx_rtd_theme主题。接着通过`sphinx-quickstart`命令初始化项目并配置基本选项。在`conf.py`中可自定义博客元信息和主题设置。
285 3
|
算法 Java 程序员
【福利😍】2024年最新103本互联网大厂程序员编程书合集【高清文字版无水印pdf】
推荐优质编程电子书资源,涵盖Python入门、算法设计、Java高并发、Docker、机器学习等领域,适合从小白到高级开发者。书籍包括《编程小白的第一本Python入门书》、《编程珠玑》等,助你提升技能,紧跟技术前沿,在职场中脱颖而出。下载地址含国内外网盘链接,更多资源可访问资料吧网站获取。
958 0
|
前端开发
前端 TS 快速入门之一:基本数据类型
前端 TS 快速入门之一:基本数据类型
336 0
|
前端开发 JavaScript API
React Router v6 完全指南(下)
React Router v6 完全指南(下)
406 0