REG_EXTENSION_PROPERTY 使用无效
2453852330 opened this issue · comments
KeKe commented
// 头文件中定义
int32 BaseInt = 0;
// getter
const int32 & GetBaseInt()
{
UE_LOG(LogTemp, Warning, TEXT("[CustomBindLuaActor->GetBaseInt]"));
return BaseInt;
}
// setter
void SetBaseInt(int32 InA)
{
UE_LOG(LogTemp, Warning, TEXT("[CustomBindLuaActor->SetBaseInt]In Value is : %d"),InA);
BaseInt = InA;
}
// 构造函数中注册属性
ACustomBindLuaActor::ACustomBindLuaActor()
{
using namespace NS_SLUA;
REG_EXTENSION_PROPERTY(ACustomBindLuaActor,"BaseInt",&ACustomBindLuaActor::GetBaseInt,&ACustomBindLuaActor::SetBaseInt);
}
-- lua 中使用
self.BaseInt = math.random(0,100)
print("change the BaseInt value to :",self.BaseInt)
lua中的 BaseInt 并不是注册的 BaseInt ; 是注册扩展属性无效,还是使用方法不对 ?
zjhongxian commented
你可以在 LuaExtensionMethod.cpp 文件内的init函数里面去执行REG_EXTENSION_PROPERTY
KeKe commented
你可以在 LuaExtensionMethod.cpp 文件内的init函数里面去执行REG_EXTENSION_PROPERTY
只能在这里注册吗,我看示例可以构造时注册; 注册的函数是可以执行的,属性不行
zjhongxian commented
推荐在lua虚拟机init的时候进行注册。构造函数里面注册并不推荐,因为构造函数在这个周期不止执行一次
KeKe commented
推荐在lua虚拟机init的时候进行注册。构造函数里面注册并不推荐,因为构造函数在这个周期不止执行一次
好的,谢谢