ecs
Propriétés
Les types
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.
Type | Description |
---|---|
ecs.eid | Entity Reference |
ecs.f32 | 32-bit floating-point number |
ecs.f64 | 64-bit floating-point number |
ecs.i32 | 32-bit integer |
ecs.ui8 | 8-bit unsigned integer |
ecs.ui32 | 32-bit unsigned integer |
ecs.string | String |
ecs.boolean | Boolean |
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ètres | Type | Description |
---|---|---|
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. |
onEnter | fonction | Fonction appelée avant l'entrée dans l'état. |
onExit | fonction | Fonction appelée avant l'entrée dans l'état. |
Déclencheur
Déclencheur d'événements
Paramètres | Type | Description |
---|---|---|
type (obligatoire) | constante : "event | Une constante pour indiquer le type de déclencheur |
événement (obligatoire) | chaîne de caractères | Le type d'événement qui déclenche cette |
cible | eid | L'entité pour laquelle vous voulez que ce déclencheur change d'état |
avantTransition | (événement) => booléen | Une 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ètres | Type | Description |
---|---|---|
type (obligatoire) | constante : "timeout" (délai d'attente) | Une constante pour indiquer le type de déclencheur |
timeout (Obligatoire) | nombre | Nombre 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ètres | Type | Description |
---|---|---|
cible | eid | l'entité pour laquelle vous voulez que ce déclencheur change d'état |
avantTransition | (événement) => booléen | Fonction 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