Several fixes

This commit is contained in:
barsdeveloper
2024-07-18 17:35:29 +02:00
parent 8a2cd6c26e
commit 5d847ab8f6
12 changed files with 50 additions and 54 deletions

View File

@@ -15,6 +15,7 @@ export default class MirroredEntity extends IEntity {
/**
* @template {typeof IEntity} T
* @param {T} type
* @returns {typeof MirroredEntity<T>}
*/
static of(type) {
const result = this.asUniqueClass()

View File

@@ -344,7 +344,7 @@ export default class ObjectEntity extends IEntity {
/** @param {ObjectEntity} obj */
obj => {
if (obj.Node !== undefined) {
const nodeRef = obj.Node.get()
const nodeRef = obj.Node.getter()
if (
nodeRef.type === this.PCGNode.type
&& nodeRef.path === `${this.Name}.${this.PCGNode.path}`

View File

@@ -129,7 +129,7 @@ export default class PinEntity extends IEntity {
/** @type {InstanceType<typeof PinEntity.attributes.Direction>} */ this.Direction
/** @type {InstanceType<typeof PinEntity.attributes.PinType>} */ this.PinType
/** @type {InstanceType<typeof PinEntity.attributes.LinkedTo>} */ this.LinkedTo
/** @type {InstanceType<typeof PinEntity.attributes.DefaultValue>} */ this.DefaultValue
/** @type {T} */ this.DefaultValue
/** @type {InstanceType<typeof PinEntity.attributes.AutogeneratedDefaultValue>} */ this.AutogeneratedDefaultValue
/** @type {InstanceType<typeof PinEntity.attributes.DefaultObject>} */ this.DefaultObject
/** @type {InstanceType<typeof PinEntity.attributes.PersistentGuid>} */ this.PersistentGuid
@@ -147,9 +147,9 @@ export default class PinEntity extends IEntity {
}
getType() {
const category = this.PinType.PinCategory.valueOf().toLocaleLowerCase()
const category = this.PinType.PinCategory?.valueOf().toLocaleLowerCase()
if (category === "struct" || category === "class" || category === "object" || category === "type") {
return this.PinType.PinSubCategoryObject.path
return this.PinType.PinSubCategoryObject?.path
}
if (this.isEnum()) {
return "enum"
@@ -181,7 +181,8 @@ export default class PinEntity extends IEntity {
}
}
if (category === "optional") {
switch (this.PinType.PinSubCategory.toString()) {
const subCategory = this.PinType.PinSubCategory?.valueOf()
switch (subCategory) {
case "red":
return "real"
case "rg":
@@ -191,7 +192,7 @@ export default class PinEntity extends IEntity {
case "rgba":
return Configuration.paths.linearColor
default:
return this.PinType.PinSubCategory
return subCategory
}
}
return category

View File

@@ -11,7 +11,7 @@ export default class ExecPinTemplate extends PinTemplate {
renderName() {
let pinName = this.element.entity.PinName
if (this.element.entity.PinFriendlyName) {
pinName = this.element.entity.PinFriendlyName.toString()
pinName = this.element.entity.PinFriendlyName.valueOf()
} else if (pinName === "execute" || pinName === "then") {
return html``
}

View File

@@ -170,6 +170,7 @@ export default class PinTemplate extends ITemplate {
getLinkLocation() {
const rect = this.iconElement.getBoundingClientRect()
/** @type {[Number, Number]} */
const boundingLocation = [this.element.isInput() ? rect.left : rect.right + 1, (rect.top + rect.bottom) / 2]
const location = Utility.convertLocation(boundingLocation, this.blueprint.template.gridElement)
return this.blueprint.compensateTranslation(location[0], location[1])

View File

@@ -7,15 +7,15 @@ import INumericPinTemplate from "./INumericPinTemplate.js"
export default class RotatorPinTemplate extends INumericPinTemplate {
#getR() {
return Utility.printNumber(this.element.getDefaultValue()?.R ?? 0)
return Utility.printNumber(this.element.getDefaultValue()?.R.valueOf() ?? 0)
}
#getP() {
return Utility.printNumber(this.element.getDefaultValue()?.P ?? 0)
return Utility.printNumber(this.element.getDefaultValue()?.P.valueOf() ?? 0)
}
#getY() {
return Utility.printNumber(this.element.getDefaultValue()?.Y ?? 0)
return Utility.printNumber(this.element.getDefaultValue()?.Y.valueOf() ?? 0)
}
setDefaultValue(values = [], rawValues = values) {
@@ -23,9 +23,9 @@ export default class RotatorPinTemplate extends INumericPinTemplate {
if (!(rotator instanceof RotatorEntity)) {
throw new TypeError("Expected DefaultValue to be a RotatorEntity")
}
rotator.R = values[0] // Roll
rotator.P = values[1] // Pitch
rotator.Y = values[2] // Yaw
rotator.R.value = values[0] // Roll
rotator.P.value = values[1] // Pitch
rotator.Y.value = values[2] // Yaw
this.element.requestUpdate("DefaultValue", rotator)
}

View File

@@ -9,11 +9,11 @@ import INumericPinTemplate from "./INumericPinTemplate.js"
export default class Vector2DPinTemplate extends INumericPinTemplate {
#getX() {
return Utility.printNumber(this.element.getDefaultValue()?.X ?? 0)
return Utility.printNumber(this.element.getDefaultValue()?.X.valueOf() ?? 0)
}
#getY() {
return Utility.printNumber(this.element.getDefaultValue()?.Y ?? 0)
return Utility.printNumber(this.element.getDefaultValue()?.Y.valueOf() ?? 0)
}
/**
@@ -25,8 +25,8 @@ export default class Vector2DPinTemplate extends INumericPinTemplate {
if (!(vector instanceof Vector2DEntity)) {
throw new TypeError("Expected DefaultValue to be a Vector2DEntity")
}
vector.X = values[0]
vector.Y = values[1]
vector.X.value = values[0]
vector.Y.value = values[1]
this.element.requestUpdate("DefaultValue", vector)
}

View File

@@ -7,19 +7,19 @@ import Vector4DEntity from "../../entity/Vector4DEntity.js"
export default class Vector4DPinTemplate extends INumericPinTemplate {
#getX() {
return Utility.printNumber(this.element.getDefaultValue()?.X ?? 0)
return Utility.printNumber(this.element.getDefaultValue()?.X.valueOf() ?? 0)
}
#getY() {
return Utility.printNumber(this.element.getDefaultValue()?.Y ?? 0)
return Utility.printNumber(this.element.getDefaultValue()?.Y.valueOf() ?? 0)
}
#getZ() {
return Utility.printNumber(this.element.getDefaultValue()?.Z ?? 0)
return Utility.printNumber(this.element.getDefaultValue()?.Z.valueOf() ?? 0)
}
#getW() {
return Utility.printNumber(this.element.getDefaultValue()?.W ?? 0)
return Utility.printNumber(this.element.getDefaultValue()?.W.valueOf() ?? 0)
}
/**
@@ -31,10 +31,10 @@ export default class Vector4DPinTemplate extends INumericPinTemplate {
if (!(vector instanceof Vector4DEntity)) {
throw new TypeError("Expected DefaultValue to be a Vector4DEntity")
}
vector.X = values[0]
vector.Y = values[1]
vector.Z = values[2]
vector.W = values[3]
vector.X.value = values[0]
vector.Y.value = values[1]
vector.Z.value = values[2]
vector.W.value = values[3]
this.element.requestUpdate("DefaultValue", vector)
}

View File

@@ -7,15 +7,15 @@ import INumericPinTemplate from "./INumericPinTemplate.js"
export default class VectorPinTemplate extends INumericPinTemplate {
#getX() {
return Utility.printNumber(this.element.getDefaultValue()?.X ?? 0)
return Utility.printNumber(this.element.getDefaultValue()?.X.valueOf() ?? 0)
}
#getY() {
return Utility.printNumber(this.element.getDefaultValue()?.Y ?? 0)
return Utility.printNumber(this.element.getDefaultValue()?.Y.valueOf() ?? 0)
}
#getZ() {
return Utility.printNumber(this.element.getDefaultValue()?.Z ?? 0)
return Utility.printNumber(this.element.getDefaultValue()?.Z.valueOf() ?? 0)
}
/**
@@ -27,9 +27,9 @@ export default class VectorPinTemplate extends INumericPinTemplate {
if (!(vector instanceof VectorEntity)) {
throw new TypeError("Expected DefaultValue to be a VectorEntity")
}
vector.X = values[0]
vector.Y = values[1]
vector.Z = values[2]
vector.X.value = values[0]
vector.Y.value = values[1]
vector.Z.value = values[2]
this.element.requestUpdate("DefaultValue", vector)
}