mirror of
https://github.com/barsdeveloper/ueblueprint.git
synced 2026-02-15 01:24:41 +08:00
Fix attributes keys order
This commit is contained in:
21
dist/ueblueprint.js
vendored
21
dist/ueblueprint.js
vendored
@@ -819,6 +819,7 @@ class Utility {
|
||||
*/
|
||||
static mergeArrays(a = [], b = []) {
|
||||
let result = [];
|
||||
restart:
|
||||
for (let j = 0; j < b.length; ++j) {
|
||||
for (let i = 0; i < a.length; ++i) {
|
||||
if (a[i] == b[j]) {
|
||||
@@ -831,10 +832,8 @@ class Utility {
|
||||
// Take and append the element in common
|
||||
...a.splice(0, 1)
|
||||
);
|
||||
j = 0;
|
||||
i = 0;
|
||||
b.shift();
|
||||
break
|
||||
break restart
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2308,8 +2307,8 @@ class Grammar {
|
||||
r.LocalizedText,
|
||||
r.InvariantText,
|
||||
r.PinReference,
|
||||
Grammar.createEntityGrammar(r, Vector2DEntity, true),
|
||||
Grammar.createEntityGrammar(r, VectorEntity, true),
|
||||
Grammar.createEntityGrammar(r, Vector2DEntity, true),
|
||||
Grammar.createEntityGrammar(r, LinearColorEntity, true),
|
||||
r.UnknownKeys,
|
||||
r.ObjectReference,
|
||||
@@ -2608,7 +2607,15 @@ class ISerializer {
|
||||
let result = "";
|
||||
let fullKey = key.concat("");
|
||||
const last = fullKey.length - 1;
|
||||
for (const property of Object.getOwnPropertyNames(object)) {
|
||||
const attributes = /** @type {EntityConstructor} */(object.constructor).attributes;
|
||||
const keys =
|
||||
attributes ?
|
||||
Utility.mergeArrays(
|
||||
Object.getOwnPropertyNames(attributes),
|
||||
Object.getOwnPropertyNames(object)
|
||||
)
|
||||
: Object.getOwnPropertyNames(object);
|
||||
for (const property of keys) {
|
||||
fullKey[last] = property;
|
||||
const value = object[property];
|
||||
if (value?.constructor === Object) {
|
||||
@@ -7202,10 +7209,8 @@ class ExecPinTemplate extends PinTemplate {
|
||||
class IntInputPinTemplate extends INumericPinTemplate {
|
||||
|
||||
setDefaultValue(values = [], rawValues = values) {
|
||||
parseInt(values[0]);
|
||||
const integer = this.element.getDefaultValue(true);
|
||||
if (!(integer instanceof IntegerEntity)) {
|
||||
throw new TypeError("Expected DefaultValue to be a IntegerEntity")
|
||||
}
|
||||
integer.value = values[0];
|
||||
this.element.requestUpdate("DefaultValue", integer);
|
||||
}
|
||||
|
||||
2
dist/ueblueprint.min.js
vendored
2
dist/ueblueprint.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -211,10 +211,13 @@ export default class Utility {
|
||||
*/
|
||||
static mergeArrays(a = [], b = []) {
|
||||
let result = []
|
||||
a = [...a]
|
||||
b = [...b]
|
||||
restart:
|
||||
for (let j = 0; j < b.length; ++j) {
|
||||
for (let i = 0; i < a.length; ++i) {
|
||||
if (a[i] == b[j]) {
|
||||
// Found a corresponding element in the two arrays
|
||||
// Found an element in common in the two arrays
|
||||
result.push(
|
||||
// Take and append all the elements skipped from a
|
||||
...a.splice(0, i),
|
||||
@@ -223,10 +226,8 @@ export default class Utility {
|
||||
// Take and append the element in common
|
||||
...a.splice(0, 1)
|
||||
)
|
||||
j = 0
|
||||
i = 0
|
||||
b.shift()
|
||||
break
|
||||
b.shift() // Remove the same element from b
|
||||
break restart
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -324,9 +324,9 @@ export default class Grammar {
|
||||
r.LocalizedText,
|
||||
r.InvariantText,
|
||||
r.PinReference,
|
||||
Grammar.createEntityGrammar(r, Vector2DEntity, true),
|
||||
Grammar.createEntityGrammar(r, VectorEntity, true),
|
||||
Grammar.createEntityGrammar(r, LinearColorEntity, true),
|
||||
Grammar.createEntityGrammar(r, Vector2DEntity, true),
|
||||
r.UnknownKeys,
|
||||
r.ObjectReference,
|
||||
r.Symbol,
|
||||
|
||||
@@ -89,7 +89,15 @@ export default class ISerializer {
|
||||
let result = ""
|
||||
let fullKey = key.concat("")
|
||||
const last = fullKey.length - 1
|
||||
for (const property of Object.getOwnPropertyNames(object)) {
|
||||
const attributes = /** @type {EntityConstructor} */(object.constructor).attributes
|
||||
const keys =
|
||||
attributes ?
|
||||
Utility.mergeArrays(
|
||||
Object.getOwnPropertyNames(attributes),
|
||||
Object.getOwnPropertyNames(object)
|
||||
)
|
||||
: Object.getOwnPropertyNames(object)
|
||||
for (const property of keys) {
|
||||
fullKey[last] = property
|
||||
const value = object[property]
|
||||
if (value?.constructor === Object) {
|
||||
|
||||
Reference in New Issue
Block a user