Interface MapComponentDefinition<T>

Overrides component definition to support partial default values

Type Parameters

  • T

Hierarchy

Properties

componentId: number
componentName: string
componentType: LastWriteWinElementSet
schema: ISchema<T>

Methods

  • Add the current component to an entity, throw an error if the component already exists (use createOrReplace instead).

    • Internal comment: This method adds the <entity,component> to the list to be reviewed next frame

    Parameters

    • entity: Entity

      Entity that will be used to create the component

    • Optional val: Partial<T>

      The initial value

    Returns T

  • Add the current component to an entity or replace the content if the entity already has the component

    • Internal comment: This method adds the <entity,component> to the list to be reviewed next frame

    Parameters

    • entity: Entity

      Entity that will be used to create or replace the component

    • Optional val: Partial<T>

      The initial or new value

    Returns T

  • Delete the current component to an entity, return null if the entity doesn't have the current component.

    • Internal comment: This method adds the <entity,component> to the list to be reviewed next frame

    Parameters

    • entity: Entity

      Entity to delete the component from

    Returns null | T

  • Marks the entity as deleted and signals it cannot be used ever again. It must clear the component internal state, produces a synchronization message to remove the component from the entity.

    Parameters

    • entity: Entity

      Entity ID that was deleted.

    • markAsDirty: boolean

    Returns void

  • Get the mutable component of the entity, throw an error if the entity doesn't have the component.

    • Internal comment: This method adds the <entity,component> to the list to be reviewed next frame

    Parameters

    • entity: Entity

      Entity to get the component from

    Returns T

  • Get the mutable component of the entity, return null if the entity doesn't have the component.

    • Internal comment: This method adds the <entity,component> to the list to be reviewed next frame

    Parameters

    • entity: Entity

      Entity to get the component from

    Returns null | T

  • Get the mutable component of the entity. If the entity doesn't have the component, it's created.

    • Internal comment: This method adds the <entity,component> to the list to be reviewed next frame

    Parameters

    • entity: Entity

      Entity to get the component from

    • Optional initialValue: T

    Returns T

  • Triggers the callback if the entity has changed on the last tick. If the value is undefined, the component was deleted.

    Parameters

    • entity: Entity
    • cb: ((value: undefined | T) => void)
        • (value: undefined | T): void
        • Parameters

          • value: undefined | T

          Returns void

    Returns void