UE4 Unlua源码解析10 - Lua怎么替换BlueprintImplementableEvent或BlueprintNativeEvent的方法实现的
Posted 珞珈大胖强TURBO
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UE4 Unlua源码解析10 - Lua怎么替换BlueprintImplementableEvent或BlueprintNativeEvent的方法实现的相关的知识,希望对你有一定的参考价值。
Lua怎么替换BlueprintImplementableEvent或BlueprintNativeEvent的方法实现的
时机发生在UUnLuaManager中绑定UObject和Lua Object的时候,具体到函数是BindInternal
648-649行是拿到所有的Lua方法,并且存储到LuaFunctions里,650-651行拿到所有的UE的所有BlueprintEvent和RepNotify方法,存起来,然后最重要的函数OverrideFunctions中,其实就是本小节的答案所在,在这个函数里用Lua的函数覆盖BlueprintImplementableEvent或
BlueprintNativeEvent的方法
/**
* Override candidate UFunctions
*/
void UUnLuaManager::OverrideFunctions(const TSet<FName> &LuaFunctions, TMap<FName, UFunction*> &UEFunctions, UClass *OuterClass, bool bCheckFuncNetMode)
for (const FName &LuaFuncName : LuaFunctions)
UFunction **Func = UEFunctions.Find(LuaFuncName);
if (Func)
UFunction *Function = *Func;
OverrideFuncti
以上是关于UE4 Unlua源码解析10 - Lua怎么替换BlueprintImplementableEvent或BlueprintNativeEvent的方法实现的的主要内容,如果未能解决你的问题,请参考以下文章
UE4 Unlua源码解析10 - Lua怎么替换BlueprintImplementableEvent或BlueprintNativeEvent的方法实现的
UE4 Unlua源码解析12 - Lua与UE4的混合GC
UE4 Unlua源码解析12 - Lua与UE4的混合GC