Ir al contenido principal

ecs

Propiedades

Tipos

información

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

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ámetroTipoDescripció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.
onEntrarfunciónFunción llamada antes de entrar en el estado.
onExitfunciónFunción llamada antes de entrar en el estado.

Disparador

Activador de eventos
ParámetroTipoDescripción
tipo (Obligatorio)constante: 'evento'Una constante para indicar el tipo de disparador
evento (Obligatorio)cadenaEl tipo de evento que desencadena este
objetivoeidLa entidad para la que desea que este disparador cambie de estado
beforeTransition(evento) => booleanoUna 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ámetroTipoDescripción
tipo (Obligatorio)constante: 'timeout'Una constante para indicar el tipo de disparador
tiempo de espera (obligatorio)númeroEl 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ámetroTipoDescripción
objetivoeidla entidad para la que desea que este activador cambie de estado
beforeTransition(evento) => booleanoFunció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