mirror of
https://github.com/barsdeveloper/ueblueprint.git
synced 2026-02-03 23:55:04 +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
44 lines
1.3 KiB
JavaScript
Executable File
44 lines
1.3 KiB
JavaScript
Executable File
import Grammar from "../serialization/Grammar.js"
|
|
import GuidEntity from "./GuidEntity.js"
|
|
import IEntity from "./IEntity.js"
|
|
import ObjectReferenceEntity from "./ObjectReferenceEntity.js"
|
|
|
|
export default class MacroGraphReferenceEntity extends IEntity {
|
|
|
|
static attributes = {
|
|
...super.attributes,
|
|
MacroGraph: {
|
|
type: ObjectReferenceEntity,
|
|
default: () => new ObjectReferenceEntity(),
|
|
},
|
|
GraphBlueprint: {
|
|
type: ObjectReferenceEntity,
|
|
default: () => new ObjectReferenceEntity(),
|
|
},
|
|
GraphGuid: {
|
|
type: GuidEntity,
|
|
default: () => new GuidEntity(),
|
|
},
|
|
}
|
|
static {
|
|
this.cleanupAttributes(this.attributes)
|
|
}
|
|
static grammar = this.createGrammar()
|
|
|
|
static createGrammar() {
|
|
return Grammar.createEntityGrammar(this)
|
|
}
|
|
|
|
constructor(values) {
|
|
super(values)
|
|
/** @type {ObjectReferenceEntity} */ this.MacroGraph
|
|
/** @type {ObjectReferenceEntity} */ this.GraphBlueprint
|
|
/** @type {GuidEntity} */ this.GuidEntity
|
|
}
|
|
|
|
getMacroName() {
|
|
const colonIndex = this.MacroGraph.path.search(":")
|
|
return this.MacroGraph.path.substring(colonIndex + 1)
|
|
}
|
|
}
|