技术好文: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
相关文章
|
11月前
|
人工智能 Ubuntu IDE
【Python】基础:环境配置与基础语法
本文介绍了Python编程语言及其环境配置方法。Python由Guido van Rossum于1991年创建,以其简洁、易学和强大的功能著称。文章详细讲解了Python的主要特点、Windows和Ubuntu下的安装配置步骤、基础语法、控制流、函数、文件操作、模块使用及面向对象编程等内容,帮助读者快速入门Python编程。
292 4
|
中间件 Java 应用服务中间件
Windows部署web应用服务器Jboss中间件
如何在Windows系统上部署JBoss 7.1作为Web应用服务器,包括配置环境变量、自动部署WAR包、访问JBoss控制台、设置管理员账户以及修改端口和绑定地址等操作。
421 1
|
11月前
|
人工智能 Serverless
AI助理精准匹配------助力快速搭建Stable Difussion图像生成应用
【10月更文挑战第7天】过去在阿里云社区搭建Stable Diffusion图像生成应用需查阅在线实验室或官方文档,耗时且不便。现阿里云AI助理提供精准匹配服务,直接在首页询问AI助理即可获取详细部署步骤,简化了操作流程,提高了效率。用户可按AI助理提供的步骤快速完成应用创建、参数设置、应用部署及资源释放等操作,轻松体验Stable Diffusion图像生成功能。
|
7月前
|
存储 算法 数据挖掘
Pandas高级数据处理:数据压缩与解压
Pandas是数据分析的强大工具,尤其在处理大文件时,数据压缩技术至关重要。本文介绍如何使用Pandas进行数据压缩与解压,包括常见的gzip、bz2等格式。通过压缩技术,可以显著节省存储空间、加快传输速度并提高读写性能。文章还总结了常见问题及解决方案,如文件路径错误、不支持的压缩格式、内存不足和编码问题,帮助用户更高效地管理海量数据。
146 12
|
11月前
|
存储 分布式计算 druid
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
135 1
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
|
11月前
|
存储 C语言 C++
如何通过指针作为函数参数来实现函数的返回多个值
在C语言中,可以通过将指针作为函数参数来实现函数返回多个值。调用函数时,传递变量的地址,函数内部通过修改指针所指向的内存来改变原变量的值,从而实现多值返回。
|
11月前
|
存储 搜索推荐 Java
ElasticSearch 的概念解析与使用方式(一)
ElasticSearch 的概念解析与使用方式(一)
321 1
|
11月前
|
JSON 前端开发 JavaScript
【简单粗暴】如何使用 React 优化 AG 网格性能
【简单粗暴】如何使用 React 优化 AG 网格性能
231 3
|
前端开发 搜索推荐 JavaScript
"揭秘!Python高手如何用Sphinx玩转个人博客?从零搭建,美到犯规,技术干货一网打尽,让你的博客秒变网红级存在!"
【8月更文挑战第14天】Sphinx是Python社区中用于编写和技术分享的强大工具,以其易用性和美观的文档输出著称。本文介绍如何用Sphinx打造个性化博客。首先需安装Python、Sphinx及sphinx_rtd_theme主题。接着通过`sphinx-quickstart`命令初始化项目并配置基本选项。在`conf.py`中可自定义博客元信息和主题设置。
234 3
|
11月前
|
算法 Java 程序员
【福利😍】2024年最新103本互联网大厂程序员编程书合集【高清文字版无水印pdf】
推荐优质编程电子书资源,涵盖Python入门、算法设计、Java高并发、Docker、机器学习等领域,适合从小白到高级开发者。书籍包括《编程小白的第一本Python入门书》、《编程珠玑》等,助你提升技能,紧跟技术前沿,在职场中脱颖而出。下载地址含国内外网盘链接,更多资源可访问资料吧网站获取。
734 0

热门文章

最新文章