Fix niagara script variables merging

This commit is contained in:
barsdeveloper
2024-12-16 23:45:56 +02:00
parent c0032fed76
commit 3b68fb46a8
6 changed files with 169 additions and 20 deletions

View File

@@ -389,18 +389,18 @@ export default class ObjectEntity extends IEntity {
}
/** @type {ObjectEntity} */
const subObject = this[k]
if (!subObject.ExportPath?.valueOf().path.includes(this.Name.toString())) {
if (!subObject.ExportPath?.valueOf(this).path.includes(this.Name.toString())) {
continue
}
const originalExportPath = subObject.ExportPath.valueOf()
const originalExportPath = subObject.ExportPath.valueOf(this)
const position = originalExportPath.path.indexOf(this.Name.toString())
const prefix = originalExportPath.path.substring(0, position)
const suffix = originalExportPath.path.substring(position + this.Name.toString().length)
const mirroredEntity = /** @type {typeof ObjectEntity} */(subObject.constructor).attributes.ExportPath
subObject.ExportPath = new mirroredEntity(
() => new (mirroredEntity.type)(
(self = this) => new (mirroredEntity.type)(
originalExportPath.type,
prefix + (this.Name ?? "").toString() + suffix,
prefix + (self.Name ?? "").toString() + suffix,
originalExportPath.full
)
)