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

19
dist/ueblueprint.js vendored
View File

@@ -3866,9 +3866,9 @@ class MirroredEntity extends IEntity {
}
/** @returns {InstanceType<T>} */
valueOf() {
valueOf(arg) {
// @ts-expect-error
return this.getter().valueOf()
return this.getter(arg).valueOf()
}
toString() {
@@ -6654,18 +6654,18 @@ 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
)
);
@@ -10288,6 +10288,13 @@ class BlueprintEntity extends ObjectEntity {
ScriptVariables: super.attributes.ScriptVariables.asUniqueClass(true).withDefault(),
}
constructor(...args) {
super(...args);
if (!this.Name) {
this.Name = new (/** @type {typeof ObjectEntity} */(this.constructor).attributes.Name)("Blueprint");
}
}
/** @param {ObjectEntity} entity */
getHomonymObjectEntity(entity) {
const name = entity.getObjectName();

File diff suppressed because one or more lines are too long