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的函数覆盖BlueprintImplementableEventBlueprintNativeEvent的方法

/**
 * 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

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

UE4 Unlua源码解析1 - 读源码的前置知识

UE4 Unlua源码解析1 - 读源码的前置知识