UNPKG

@dcl/ecs

Version:
40 lines (39 loc) 1.05 kB
import { Entity } from '../engine/entity'; import { CompositeDefinition } from './proto/gen/composite.gen'; /** * @public */ export type CompositeResource = { src: string; composite: CompositeDefinition; }; /** * @param src - the source path of the composite * @public */ export type CompositeProvider = { getCompositeOrNull(src: string): CompositeResource | null; loadComposite?: (src: string) => Promise<CompositeResource>; schemas?: Iterable<{ name: string; jsonSchema: any; }>; }; /** @public */ export declare enum EntityMappingMode { EMM_NONE = 0, EMM_NEXT_AVAILABLE = 1, EMM_DIRECT_MAPPING = 2 } /** @public */ export type InstanceCompositeOptions = { entityMapping?: { type: EntityMappingMode.EMM_NEXT_AVAILABLE; getNextAvailableEntity: () => Entity | null; } | { type: EntityMappingMode.EMM_DIRECT_MAPPING; getCompositeEntity: (compositeEntity: Entity | number) => Entity; }; rootEntity?: Entity; alreadyRequestedSrc?: Set<string>; };