mirror of
https://github.com/barsdeveloper/ueblueprint.git
synced 2026-02-04 08:50:33 +08:00
* Move grammar parsers to entity classes * Fix includes * Fix Entity5 test * Small detail * Fix unknown keys entities * Persistent grammar objects * Fix grammar * Grammar from variable
88 lines
3.0 KiB
JavaScript
Executable File
88 lines
3.0 KiB
JavaScript
Executable File
import FunctionReferenceEntity from "./FunctionReferenceEntity.js"
|
|
import Grammar from "../serialization/Grammar.js"
|
|
import IEntity from "./IEntity.js"
|
|
import ObjectReferenceEntity from "./ObjectReferenceEntity.js"
|
|
import PathSymbolEntity from "./PathSymbolEntity.js"
|
|
|
|
export default class PinTypeEntity extends IEntity {
|
|
|
|
static attributes = {
|
|
...super.attributes,
|
|
PinCategory: {
|
|
default: "",
|
|
},
|
|
PinSubCategory: {
|
|
default: "",
|
|
},
|
|
PinSubCategoryObject: {
|
|
type: ObjectReferenceEntity,
|
|
default: () => ObjectReferenceEntity.createNoneInstance(),
|
|
},
|
|
PinSubCategoryMemberReference: {
|
|
type: FunctionReferenceEntity,
|
|
default: null,
|
|
},
|
|
PinValueType: {
|
|
type: PinTypeEntity,
|
|
default: null,
|
|
},
|
|
ContainerType: {
|
|
type: PathSymbolEntity,
|
|
},
|
|
bIsReference: {
|
|
default: false,
|
|
},
|
|
bIsConst: {
|
|
default: false,
|
|
},
|
|
bIsWeakPointer: {
|
|
default: false,
|
|
},
|
|
bIsUObjectWrapper: {
|
|
default: false,
|
|
},
|
|
bSerializeAsSinglePrecisionFloat: {
|
|
default: false,
|
|
},
|
|
}
|
|
static {
|
|
this.cleanupAttributes(this.attributes)
|
|
}
|
|
static grammar = this.createGrammar()
|
|
|
|
static createGrammar() {
|
|
return Grammar.createEntityGrammar(this)
|
|
}
|
|
|
|
constructor(values = {}, suppressWarns = false) {
|
|
super(values, suppressWarns)
|
|
/** @type {String} */ this.PinCategory
|
|
/** @type {String} */ this.PinSubCategory
|
|
/** @type {ObjectReferenceEntity} */ this.PinSubCategoryObject
|
|
/** @type {FunctionReferenceEntity} */ this.PinSubCategoryMemberReference
|
|
/** @type {PinTypeEntity} */ this.PinValueType
|
|
/** @type {PathSymbolEntity} */ this.ContainerType
|
|
/** @type {Boolean} */ this.bIsReference
|
|
/** @type {Boolean} */ this.bIsConst
|
|
/** @type {Boolean} */ this.bIsWeakPointer
|
|
/** @type {Boolean} */ this.bIsUObjectWrapper
|
|
/** @type {Boolean} */ this.bIsUObjectWrapper
|
|
/** @type {Boolean} */ this.bSerializeAsSinglePrecisionFloat
|
|
}
|
|
|
|
/** @param {PinTypeEntity} other */
|
|
copyTypeFrom(other) {
|
|
this.PinCategory = other.PinCategory
|
|
this.PinSubCategory = other.PinSubCategory
|
|
this.PinSubCategoryObject = other.PinSubCategoryObject
|
|
this.PinSubCategoryMemberReference = other.PinSubCategoryMemberReference
|
|
this.PinValueType = other.PinValueType
|
|
this.ContainerType = other.ContainerType
|
|
this.bIsReference = other.bIsReference
|
|
this.bIsConst = other.bIsConst
|
|
this.bIsWeakPointer = other.bIsWeakPointer
|
|
this.bIsUObjectWrapper = other.bIsUObjectWrapper
|
|
this.bSerializeAsSinglePrecisionFloat = other.bSerializeAsSinglePrecisionFloat
|
|
}
|
|
}
|