Skip to content

子类继承父类的Lua绑定没有生效的问题 #269

@xuyanghuang-tencent

Description

@xuyanghuang-tencent

重现步骤:

蓝图接口:BPI_Test,有个DoSomeThing()函数
父蓝图:Actor_Test,实现了UnLuaInterface,绑定Actor_Test.lua
子蓝图:Actor_TestChild1、Actor_TestChild2,各自实现BPI_Test,它们的UnLuaInterface是继承来的,没有覆盖GetModuleName,所以它们也会绑定到Actor_Test.lua。

场景里放好Actor_Test、Actor_TestChild1、Actor_TestChild2
在Actor_Test.lua的ReceiveBeginPlay里调self:DoSomeThing() 就会报类似以下错误:

Script Stack (3 frames):
Actor_TestChild2_C.ExecuteUbergraph_Actor_TestChild2
Actor_TestChild2_C.DoSomething
Actor_TestChild1_C.ReceiveBeginPlay

Assertion failed: ((Object*)ContainerPtr)->IsA(GetOwner<UClass>())
'Actor_TestChild1_4' is of class `Actor_TestChild2_C` however property 'UberGraphFrame' belongs to class 'Actor_TestChild2_C'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions