diff --git a/dist/ueblueprint.js b/dist/ueblueprint.js index d6dfd45..275588f 100755 --- a/dist/ueblueprint.js +++ b/dist/ueblueprint.js @@ -509,11 +509,17 @@ class IEntity { Object.getOwnPropertyNames(properties), Object.getOwnPropertyNames(values ?? {}) )) { - if (!(property in properties)) { - console.warn(`Property ${prefix}${property} is not defined in ${this.constructor.name}`); - } let defaultValue = properties[property]; const defaultType = Utility.getType(defaultValue); + if (!(property in properties)) { + console.warn(`Property ${prefix}${property} is not defined in ${this.constructor.name}`); + } else if ( + defaultValue != null + && !(defaultValue instanceof TypeInitialization && !defaultValue.showDefault) + && !(property in values) + ) { + console.warn(`${this.constructor.name} adds property ${prefix}${property} not defined in the serialized data`); + } // Not instanceof because all objects are instenceof Object, exact match needed if (defaultType === Object) { target[property] = {}; @@ -703,6 +709,11 @@ class KeyBindingEntity extends IEntity { } constructor(options = {}) { + options.ActionName = options.ActionName ?? ""; + options.bShift = options.bShift ?? false; + options.bCtrl = options.bCtrl ?? false; + options.bAlt = options.bAlt ?? false; + options.bCmd = options.bCmd ?? false; super(options); /** @type {String} */ this.ActionName; /** @type {Boolean} */ this.bShift; @@ -792,10 +803,11 @@ class PinEntity extends IEntity { bIsConst: false, bIsWeakPointer: false, bIsUObjectWrapper: false, + bSerializeAsSinglePrecisionFloat: false, }, LinkedTo: new TypeInitialization([PinReferenceEntity], false), DefaultValue: new TypeInitialization(String, false), - AutogeneratedDefaultValue: "", + AutogeneratedDefaultValue: new TypeInitialization(String, false), DefaultObject: new TypeInitialization(ObjectReferenceEntity, false, null), PersistentGuid: GuidEntity, bHidden: false, diff --git a/index.html b/index.html index 3c87939..23ed081 100755 --- a/index.html +++ b/index.html @@ -20,24 +20,25 @@