ecs
Propiedades
Tipos
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 |
Funciones
registrarComponente
Registra un componente en el ECS.
ecs.registerComponent({
nombre: cadena,
esquema: Schema,
data: Esquema,
schemaDefaults: Object,
add: function
remove: function,
tick: function
}) // -> Componente Handle
Estado
Parámetro | Tipo | Descripción |
---|---|---|
disparadores (Obligatorio) | Registro<String, Trigger[]> | Nombre de los siguientes estados a los que este estado y la transición y los factores desencadenantes para hacerlo. |
onEntrar | función | Función llamada antes de entrar en el estado. |
onExit | función | Función llamada antes de entrar en el estado. |
Disparador
Activador de eventos
Parámetro | Tipo | Descripción |
---|---|---|
tipo (Obligatorio) | constante: 'evento' | Una constante para indicar el tipo de disparador |
evento (Obligatorio) | cadena | El tipo de evento que desencadena este |
objetivo | eid | La entidad para la que desea que este disparador cambie de estado |
beforeTransition | (evento) => booleano | Una función que se ejecuta antes de la transición, si el resultado es verdadero entonces la transición terminará y el estado no cambiará. |
TimeoutTrigger
Parámetro | Tipo | Descripción |
---|---|---|
tipo (Obligatorio) | constante: 'timeout' | Una constante para indicar el tipo de disparador |
tiempo de espera (obligatorio) | número | El número de milisegundos antes de la transición |
createStateMachine
Crear una máquina de estados.
ecs.createStateMachine(world, owner, {initialState: string, states: Record<string, State>}) // -> ID de la máquina de estados
deleteStateMachine
Borrar una máquina de estado.
ecs.deleteStateMachine(world, machineId) // -> void
definirEstado
Define un estado.
ecs.defineState(name: string) // -> Estado
inicial
Marca este estado como el estado inicial de la máquina de estados
ecs.defineEstado(nombre).inicial() // -> void
onEntrar
Establece una llamada de retorno que se ejecutará al entrar en este estado.
ecs.defineState(name).onEnter(callback) // -> void
onEvento
Evento
Parámetro | Tipo | Descripción |
---|---|---|
objetivo | eid | la entidad para la que desea que este activador cambie de estado |
beforeTransition | (evento) => booleano | Función que se ejecuta antes de la transición, si el resultado es verdadero entonces la transición terminará y el estado no cambiará. |
Activar una transición al siguiente estado cuando se recibe un evento.
ecs.defineState(name).onEvent(event: string, nextState: string | State, args: EventObject) // -> void
onExit
Establece una llamada de retorno que se ejecutará al salir de este estado.
ecs.defineState(name).onExit(callback) // -> void
espere
Espera antes de cambiar de estado.
ecs.defineState(name).wait(waitTime: number, nextState: string | State) // -> void
definirSistema
Definir un sistema.
ecs.defineSistema([términos]: cadena[], comportamiento: función) // -> Sistema
defineQuery
Definir una consulta.
ecs.defineQuery([términos: cadena]) // -> callback
getAttribute
Los componentes incorporados también se exponen como una propiedad de ecs.
ecs.getAttribute(attributeName: string) // -> el atributo que se ha registrado con ese nombre.
listAttributes
Devuelve una lista de atributos.
ecs.listAttributes() // -> cadena[]
getBehaviors
Devuelve una lista de comportamientos registrados.
ecs.getBehaviors() // -> function[]
registerBehavior
Registra una función que se ejecute en el mundo cada tick.
ecs.registerBehavior(behavior: function) // -> void
unregisterBehavior
Desactivar un comportamiento.
ecs.unregisterBehavior(behavior: function) // -> void