Closed lzj10 closed 1 year ago
“https://github.com/Tencent/puerts/issues/701 的衍生错误”指的是该修改引入的么? 那个修改只是允许一个package下有多个类,但以类名为Key,应该不会有重名的类。
问题2指的是继承链上有同名的class么?
问题2应该好改。 但问题1按理来说不应该出现
我看了下,问题1里头虽说名字相同,里面的字段是不同的。也就是ue允许一个package下有多个同名类??这啥坑爹设定?
问题1你试试过滤掉Engine.Transient,Engine.Transient里头可能是UE内部自己生成的一些类,过滤掉问题不大: DeclarationGenerator.cpp加入begin到end的部分。
void FTypeScriptDeclarationGenerator::Gen(UObject* ToGen)
{
if (ToGen->GetName().Equals(TEXT("ArrayBuffer")) || ToGen->GetName().Equals(TEXT("JsObject")))
{
return;
}
//---------begin---------
if (GetNamespace(ToGen).Equals(TEXT("Engine.Transient")))
{
return;
}
//---------end---------
好的我试一下
问题2试试这个commit:https://github.com/Tencent/puerts/commit/1a47bfad33a675600bcea4e75b9defe33f44ad52
问题1如果你试了没问题我也按这样处理。
问题1可以 这么改没问题
前置阅读 | Pre-reading
Puer的版本 | Puer Version
master 3459a0de
UE的版本 | UE Version
5.0
发生在哪个平台 | Platform
Editor(mac)
错误信息 | Error Message
1.同一命名空间下生成了大量的重名类型冲突,都在Engine.Transient namespace下面
2.继承类型出现了 生成的重名private属性 __tid_AnimBlueprintGeneratedConstantData__: boolean;
问题重现 | Bug reproduce
感觉是 #701 的衍生错误,有动画蓝图之间的继承造成的