@thi.ng/ecs
Version:
Entity Component System based around typed arrays & sparse sets
19 lines • 1.26 kB
TypeScript
import { type Type, type TypedArray, type UIntArray } from "@thi.ng/api/typedarray";
import type { IMemPoolArray } from "@thi.ng/malloc";
import type { ICache, MemMappedComponentOpts } from "../api.js";
import { AComponent } from "./acomponent.js";
export declare class MemMappedComponent<K extends string> extends AComponent<K, TypedArray, TypedArray, ArrayLike<number>> {
readonly type: Type;
readonly size: number;
readonly stride: number;
cache?: ICache<TypedArray>;
constructor(sparse: UIntArray, dense: UIntArray, opts: MemMappedComponentOpts<K>);
packedValues(): Uint8Array<ArrayBufferLike> | Uint8ClampedArray<ArrayBufferLike> | Uint16Array<ArrayBufferLike> | Uint32Array<ArrayBufferLike> | Int8Array<ArrayBufferLike> | Int16Array<ArrayBufferLike> | Int32Array<ArrayBufferLike> | Float32Array<ArrayBufferLike> | Float64Array<ArrayBufferLike>;
resize(pool: IMemPoolArray, cap: number): void;
get(id: number): TypedArray | undefined;
getIndex(i: number): TypedArray | undefined;
setIndexUnsafe(i: number, val: ArrayLike<number>, notify?: boolean): void;
swapIndices(src: number, dest: number): boolean;
protected moveIndex(src: number, dest: number): void;
}
//# sourceMappingURL=mem-component.d.ts.map