@game-vir/entity - v15.1.1
    Preparing search index...

    Type Alias EntitySuite<Context>

    Output of defineEntitySuite, used to defining and creating entities.

    type EntitySuite<Context> = {
        defineEntity: DefineViewEntity<Context>;
        defineLogicEntity: DefineLogicEntity<Context>;
        entityKeys: Set<string>;
        EntityStore: new <
            const RegisteredEntities extends
                Values<EntityStore["entityKeyConstructorMap"]>,
        >(
            params: Readonly<
                EntityStoreConstructorParams<Context, RegisteredEntities>,
            >,
        ) => EntityStore<Context, RegisteredEntities>;
    }

    Type Parameters

    • Context
    Index

    Properties

    defineEntity: DefineViewEntity<Context>

    Define a standard entity (with a view). This is intended to be extended from your entity class.

    defineLogicEntity: DefineLogicEntity<Context>

    Define an entity that doesn't have an attached view. These are likely to be rare.

    entityKeys: Set<string>

    A set of entity keys used within this entity suite. This will only be populated by all classes that are defined with defineEntity or defineLogicEntity (so this will miss any not-yet-resolved dynamic imports). This will be populated even before the classes are ever instantiated.

    EntityStore: new <
        const RegisteredEntities extends
            Values<EntityStore["entityKeyConstructorMap"]>,
    >(
        params: Readonly<
            EntityStoreConstructorParams<Context, RegisteredEntities>,
        >,
    ) => EntityStore<Context, RegisteredEntities>

    The suite's entity store constructor. Instantiate this and to add your first entities.

    All defined entities will also have a reference to this store so they can add additional entities by themselves.