2025-01-17 23:37:54 +00:00
|
|
|
import type { RBush3D } from 'rbush-3d/dist';
|
|
|
|
|
import type { UUID } from '../UUID';
|
|
|
|
|
import type { GameObject } from '../public/GameObject';
|
|
|
|
|
import type { GetObjectsOptions } from '../commands/RegionCommands';
|
2017-12-14 02:06:28 +00:00
|
|
|
|
|
|
|
|
export interface IObjectStore
|
|
|
|
|
{
|
2018-10-12 17:31:14 +01:00
|
|
|
rtree?: RBush3D;
|
2025-01-17 23:37:54 +00:00
|
|
|
populateChildren: (obj: GameObject) => void;
|
|
|
|
|
getObjectsByParent: (parentID: number) => GameObject[];
|
|
|
|
|
shutdown: () => void;
|
|
|
|
|
getObjectsInArea: (minX: number, maxX: number, minY: number, maxY: number, minZ: number, maxZ: number) => GameObject[];
|
|
|
|
|
getObjectByUUID: (fullID: UUID) => GameObject;
|
|
|
|
|
getObjectByLocalID: (ID: number) => GameObject;
|
|
|
|
|
getNumberOfObjects: () => number;
|
|
|
|
|
getAllObjects: (options: GetObjectsOptions) => GameObject[];
|
|
|
|
|
setPersist: (persist: boolean) => void;
|
2017-12-14 02:06:28 +00:00
|
|
|
}
|