142 lines
4.5 KiB
TypeScript
142 lines
4.5 KiB
TypeScript
/* tslint:disable */
|
||
/* eslint-disable */
|
||
/**
|
||
* 创建组件掩码的辅助函数
|
||
*/
|
||
export function create_component_mask(component_ids: Uint32Array): bigint;
|
||
/**
|
||
* 检查掩码是否包含指定组件
|
||
*/
|
||
export function mask_contains_component(mask: bigint, component_id: number): boolean;
|
||
/**
|
||
* 初始化函数
|
||
*/
|
||
export function main(): void;
|
||
/**
|
||
* 高性能ECS核心,专注于实体查询和掩码管理
|
||
*/
|
||
export class EcsCore {
|
||
free(): void;
|
||
/**
|
||
* 创建新的ECS核心
|
||
*/
|
||
constructor();
|
||
/**
|
||
* 创建新实体
|
||
*/
|
||
create_entity(): number;
|
||
/**
|
||
* 删除实体
|
||
*/
|
||
destroy_entity(entity_id: number): boolean;
|
||
/**
|
||
* 更新实体的组件掩码
|
||
*/
|
||
update_entity_mask(entity_id: number, mask: bigint): void;
|
||
/**
|
||
* 批量更新实体掩码
|
||
*/
|
||
batch_update_masks(entity_ids: Uint32Array, masks: BigUint64Array): void;
|
||
/**
|
||
* 查询实体
|
||
*/
|
||
query_entities(mask: bigint, max_results: number): number;
|
||
/**
|
||
* 获取查询结果数量
|
||
*/
|
||
get_query_result_count(): number;
|
||
/**
|
||
* 缓存查询实体
|
||
*/
|
||
query_cached(mask: bigint): number;
|
||
/**
|
||
* 获取缓存查询结果数量
|
||
*/
|
||
get_cached_query_count(mask: bigint): number;
|
||
/**
|
||
* 多组件查询
|
||
*/
|
||
query_multiple_components(masks: BigUint64Array, max_results: number): number;
|
||
/**
|
||
* 排除查询
|
||
*/
|
||
query_with_exclusion(include_mask: bigint, exclude_mask: bigint, max_results: number): number;
|
||
/**
|
||
* 获取实体的组件掩码
|
||
*/
|
||
get_entity_mask(entity_id: number): bigint;
|
||
/**
|
||
* 检查实体是否存在
|
||
*/
|
||
entity_exists(entity_id: number): boolean;
|
||
/**
|
||
* 获取实体数量
|
||
*/
|
||
get_entity_count(): number;
|
||
/**
|
||
* 获取性能统计信息
|
||
*/
|
||
get_performance_stats(): Array<any>;
|
||
/**
|
||
* 清理所有数据
|
||
*/
|
||
clear(): void;
|
||
/**
|
||
* 重建查询缓存
|
||
*/
|
||
rebuild_query_cache(): void;
|
||
}
|
||
|
||
export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
|
||
|
||
export interface InitOutput {
|
||
readonly memory: WebAssembly.Memory;
|
||
readonly __wbg_ecscore_free: (a: number, b: number) => void;
|
||
readonly ecscore_new: () => number;
|
||
readonly ecscore_create_entity: (a: number) => number;
|
||
readonly ecscore_destroy_entity: (a: number, b: number) => number;
|
||
readonly ecscore_update_entity_mask: (a: number, b: number, c: bigint) => void;
|
||
readonly ecscore_batch_update_masks: (a: number, b: number, c: number, d: number, e: number) => void;
|
||
readonly ecscore_query_entities: (a: number, b: bigint, c: number) => number;
|
||
readonly ecscore_get_query_result_count: (a: number) => number;
|
||
readonly ecscore_query_cached: (a: number, b: bigint) => number;
|
||
readonly ecscore_get_cached_query_count: (a: number, b: bigint) => number;
|
||
readonly ecscore_query_multiple_components: (a: number, b: number, c: number, d: number) => number;
|
||
readonly ecscore_query_with_exclusion: (a: number, b: bigint, c: bigint, d: number) => number;
|
||
readonly ecscore_get_entity_mask: (a: number, b: number) => bigint;
|
||
readonly ecscore_entity_exists: (a: number, b: number) => number;
|
||
readonly ecscore_get_entity_count: (a: number) => number;
|
||
readonly ecscore_get_performance_stats: (a: number) => any;
|
||
readonly ecscore_clear: (a: number) => void;
|
||
readonly ecscore_rebuild_query_cache: (a: number) => void;
|
||
readonly create_component_mask: (a: number, b: number) => bigint;
|
||
readonly mask_contains_component: (a: bigint, b: number) => number;
|
||
readonly main: () => void;
|
||
readonly __wbindgen_exn_store: (a: number) => void;
|
||
readonly __externref_table_alloc: () => number;
|
||
readonly __wbindgen_export_2: WebAssembly.Table;
|
||
readonly __wbindgen_malloc: (a: number, b: number) => number;
|
||
readonly __wbindgen_start: () => void;
|
||
}
|
||
|
||
export type SyncInitInput = BufferSource | WebAssembly.Module;
|
||
/**
|
||
* Instantiates the given `module`, which can either be bytes or
|
||
* a precompiled `WebAssembly.Module`.
|
||
*
|
||
* @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated.
|
||
*
|
||
* @returns {InitOutput}
|
||
*/
|
||
export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput;
|
||
|
||
/**
|
||
* If `module_or_path` is {RequestInfo} or {URL}, makes a request and
|
||
* for everything else, calls `WebAssembly.instantiate` directly.
|
||
*
|
||
* @param {{ module_or_path: InitInput | Promise<InitInput> }} module_or_path - Passing `InitInput` directly is deprecated.
|
||
*
|
||
* @returns {Promise<InitOutput>}
|
||
*/
|
||
export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise<InitInput> } | InitInput | Promise<InitInput>): Promise<InitOutput>;
|