Zum Hauptinhalt springen

Lebenszyklus einer Komponente

Einführung

Lifecyle-Ereignisse können verwendet werden, um das Verhalten einer Komponente beim Hinzufügen, Ticken oder Entfernen auszulösen.

Beispiel

const MyComponent = ecs.registerComponent({
name: 'My Component',
add: (world, component) => {
console.log('My component was added to', component.eid)
},
tick: (world, component) => {
console.log('My tick function is running on', component.eid)
},
remove: (world, component) => {
console.log('My component was removed from', component.eid)
},
})

Methoden

MethodeBeschreibung
addWird einmal aufgerufen, wenn die Komponente initialisiert wird. Zum Einrichten des Anfangszustands und zum Instanziieren von Variablen
removeWird aufgerufen, wenn die Komponente von der Entität entfernt wird oder wenn die Entität von der Szene abgetrennt wird. Wird verwendet, um alle vorherigen Änderungen an der Entität rückgängig zu machen.
tickWird bei jeder Renderschleife oder jedem Tick der Szene aufgerufen. Wird für kontinuierliche Änderungen oder Kontrollen verwendet.

Parameter

EigentumTypBeschreibung
worldWorldHinweis auf die Welt.
componentComponentObjectVerweis auf die aktuelle Komponente.

ComponentObject

Warnung

Verwenden Sie schemaAttribute oder dataAttribute anstelle von eid-, schema- oder data-Eigenschaften in asynchronen Kontexten wie Timern oder Event-Handlern.

EigentumTypBeschreibung
eideidDie Entitäts-ID der aktuellen Komponente
SchemaCursorVerweis auf das Schema der aktuellen Entität
schemaAttributeComponentObjectVerweis auf das Schema der aktuellen Komponente im World Scope.
dataCursorVerweis auf die Daten der aktuellen Entität
dataAttributeComponentObjectVerweis auf die Daten der aktuellen Komponente im World Scope.