UE4 Unlua源码解析8 - Lua与C++之间的参数转换的实现原理

Posted 珞珈大胖强TURBO

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UE4 Unlua源码解析8 - Lua与C++之间的参数转换的实现原理相关的知识,希望对你有一定的参考价值。

Lua与C++之间的参数转换的实现原理

2.1 Lua传给C++的参数C++怎么转换成C++属性的

PreCall中将Lua参数转换成C++参数,主要发生在下列代码中

CleanupFlags[i] = Property->SetValue(L, Params, FirstParamIndex + ParamIndex, false);

Property->SetValue传入的参数是拿到的Lua参数,当他被放到缓存区的时候为什么成了C++类型

可以看到SetValue调用到的是,虚方法SetValueInternal

首先在PropertyDesc中存储FProperty的时候,用的是联合,所以某一个属性,最终会成为FProperty或者继承FProperty的特例FProperty,然后虚方法Se

以上是关于UE4 Unlua源码解析8 - Lua与C++之间的参数转换的实现原理的主要内容,如果未能解决你的问题,请参考以下文章

UE4 Unlua源码解析8 - Lua与C++之间的参数转换的实现原理

UE4 Unlua源码解析11 - 非UE4反射支持的静态类导出给Lua使用原理

UE4 Unlua源码解析7 - Lua通过UE命名空间访问C++类型的实现原理

UE4 Unlua源码解析7 - Lua通过UE命名空间访问C++类型的实现原理

UE4 Unlua源码解析7 - Lua通过UE命名空间访问C++类型的实现原理

UE4 Unlua源码解析12 - Lua与UE4的混合GC