技术好文: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
相关文章
|
1月前
|
前端开发 JavaScript 开发工具
震惊!前端小白到大神的蜕变之路,这些技巧你竟然还不知道?
前端开发是互联网技术的重要组成部分,从新手到大神需要掌握HTML、CSS和JavaScript的基础知识,熟练使用框架和工具,如React、Vue和Git,并注重性能优化。持续学习和实践是成长的关键。本文分享了一些实用技巧,帮助你在前端开发之路上快速进步。
30 4
|
5月前
|
运维 C# 开发工具
C#实战 | 天行健、上下而求索
【7月更文挑战第7天】使用C语言实现了一个小球(小方块)在屏幕上斜向移动并反弹的程序。当C#入门案例包括创建控制台应用和Windows窗体应用。 1. **控制台应用“天行健,君子以自强不息”** - 使用Visual Studio创建新C#控制台项目,命名为ConsoleAppStrengthenSelf。 - 在Main()方法中使用`Console.WriteLine()`输出励志语句。 - 运行程序,控制台显示结果。 每个项目都涉及Visual Studio的使用,Main()作为程序入口,以及不同类型的用户交互:控制台的文本输出和Windows窗体的图形界面。
54 0
C#实战 | 天行健、上下而求索
|
6月前
|
Linux API Apache
技术好文:saltstackpillar
技术好文:saltstackpillar
33 1
|
6月前
|
存储 编解码 索引
技术好文:StudingDay3
技术好文:StudingDay3
|
6月前
|
前端开发
技术好文:wobble
技术好文:wobble
31 0
|
6月前
|
Python
技术好文:VileGrasshoppers
技术好文:VileGrasshoppers
21 0
|
6月前
|
JSON 程序员 Swift
技术好文:Swit项目
技术好文:Swit项目
30 0
|
7月前
好文推荐
好文推荐
183 2
|
6月前
|
前端开发 关系型数据库 MySQL
技术好文:R基础学习(三)
技术好文:R基础学习(三)
29 0
|
消息中间件 安全 Java
全网首发!消息中间件神仙笔记,涵盖阿里十年技术精髓
消息中间件是分布式系统中的重要组件,在实际工作中常用消息中间件进行系统间数据交换,从而解决应用解耦、异步消息、流量削峰等问题,实现高性能、高可用、可伸缩和最终一致性架构。