Passer au contenu principal

ecs

Propriétés

Les types

info

Currently, storing dynamically sized objects or lists isn’t supported. We’re actively exploring this feature and would love to hear about your specific use cases.

The following data types are useful for creating Schema properties on a Custom Component or references to a specific type.

TypeDescription
ecs.eidEntity Reference
ecs.f3232-bit floating-point number
ecs.f6464-bit floating-point number
ecs.i3232-bit integer
ecs.ui88-bit unsigned integer
ecs.ui3232-bit unsigned integer
ecs.stringString
ecs.booleanBoolean

Fonctions

registerComponent

Enregistre un composant auprès du SCE.

ecs.registerComponent({
name : string,
schema : Schema,
data : Schema,
schemaDefaults : Object,
add : function
remove : function,
tick : function
}) // -> Poignée de composant

État

ParamètresTypeDescription
déclencheurs (obligatoire)Record<String, Trigger[]>Nom des états suivants vers lesquels cet état et la transition se font et les déclencheurs de cette transition.
onEnterfonctionFonction appelée avant l'entrée dans l'état.
onExitfonctionFonction appelée avant l'entrée dans l'état.

Déclencheur

Déclencheur d'événements
ParamètresTypeDescription
type (obligatoire)constante : "eventUne constante pour indiquer le type de déclencheur
événement (obligatoire)chaîne de caractèresLe type d'événement qui déclenche cette
cibleeidL'entité pour laquelle vous voulez que ce déclencheur change d'état
avantTransition(événement) => booléenUne fonction qui s'exécute avant la transition, si le résultat est vrai, la transition se termine et l'état ne change pas.
Déclencheur de délai d'attente
ParamètresTypeDescription
type (obligatoire)constante : "timeout" (délai d'attente)Une constante pour indiquer le type de déclencheur
timeout (Obligatoire)nombreNombre de millisecondes avant la transition

createStateMachine

Créer une machine à états.

ecs.createStateMachine(world, owner, {initialState : string, states : Record<string, State>}) // -> ID de la machine à état

deleteStateMachine

Supprimer une machine d'état.

ecs.deleteStateMachine(world, machineId) // -> void

defineState

Définir un état.

ecs.defineState(name : string) // -> État

initial

Marquer cet état comme l'état initial de la machine à états

ecs.defineState(name).initial() // -> void

onEnter

Définir une procédure de rappel à exécuter lors de l'entrée dans cet état.

ecs.defineState(name).onEnter(callback) // -> void

onEvent

Événement
ParamètresTypeDescription
cibleeidl'entité pour laquelle vous voulez que ce déclencheur change d'état
avantTransition(événement) => booléenFonction exécutée avant la transition, si le résultat est vrai, la transition se termine et l'état ne change pas.

Déclencher une transition vers l'état suivant lorsqu'un événement est reçu.

ecs.defineState(name).onEvent(event : string, nextState : string | State, args : EventObject) // -> void

onExit

Définit un rappel à exécuter lorsque l'on quitte cet état.

ecs.defineState(name).onExit(callback) // -> void

attendre

Attendre avant de passer à l'état suivant.

ecs.defineState(name).wait(waitTime : number, nextState : string | State) // -> void

définirSystème

Définir un système.

ecs.defineSystem([terms] : string[], behavior : function) // -> System

defineQuery

Définir une requête.

ecs.defineQuery([terms : string]) // -> callback

getAttribute

Les composants intégrés sont également exposés en tant que propriété de l'ecs.

ecs.getAttribute(attributeName : string) // -> l'attribut qui a été enregistré avec ce nom.

listAttributes

Renvoie une liste d'attributs.

ecs.listAttributes() // -> string[]

getBehaviors

Renvoie une liste des comportements enregistrés.

ecs.getBehaviors() // -> fonction[]

registerBehavior

Enregistrer une fonction qui s'exécute sur le monde à chaque tic-tac.

ecs.registerBehavior(behavior : function) // -> void

désenregistrer le comportement

Désactiver un comportement.

ecs.unregisterBehavior(behavior : function) // -> void