Interface BaseComponent<T>

Type Parameters

  • T

Hierarchy

Properties

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

Methods

  • This function writes the whole state of the component into a ByteBuffer

    Parameters

    • buffer: ByteBuffer
    • Optional filterEntity: ((entity: Entity) => boolean)
        • (entity: Entity): boolean
        • Parameters

          Returns boolean

    Returns void

  • 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 readonly component of the entity (to mutate it, use getMutable instead), throws an error if the entity doesn't have the component.

    Returns

    Parameters

    • entity: Entity

      Entity that will be used to get the component

    Returns any

  • This function returns an iterable with all the CRDT updates that need to be broadcasted to other actors in the system. After returning, this function clears the internal dirty state. Updates are produced only once.

    Returns Iterable<CrdtMessageBody>

  • Get if the entity has this component

    Parameters

    • entity: Entity

      entity to test

    Returns boolean

  • 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

  • This function receives a CRDT update and returns a touple with a "conflict resoluton" message, in case of the sender being updated or null in case of noop/accepted change. The second element of the touple is the modified/changed/deleted value.

    Parameters

    Returns [null | ConflictResolutionMessage, undefined | T]