- Implement 3D space rtree-based indexing in the Full ObjectStore

- Implement ScriptDialogReply thanks to Hintswen
- Add a rudimentary object search - doesn't work fully yet because of the missing messages
This commit is contained in:
Casper Warden
2018-10-12 17:31:14 +01:00
parent bb6915e9f5
commit 9eee7f9716
34 changed files with 502 additions and 209 deletions

View File

@@ -1,5 +1,8 @@
import {ITreeBoundingBox} from './ITreeBoundingBox';
export interface IGameObject
{
rtreeEntry?: ITreeBoundingBox;
hasNameValueEntry(key: string): boolean;
getNameValueEntry(key: string): string;
}

View File

@@ -1,7 +1,11 @@
import {IGameObject} from './IGameObject';
import {RBush3D} from 'rbush-3d/dist';
import {GameObjectFull} from '../GameObjectFull';
export interface IObjectStore
{
rtree?: RBush3D;
getObjectsByParent(parentID: number): IGameObject[];
shutdown(): void;
getObjectsInArea(minX: number, maxX: number, minY: number, maxY: number, minZ: number, maxZ: number): GameObjectFull[];
}

View File

@@ -0,0 +1,7 @@
import {BBox} from 'rbush-3d/dist';
import {IGameObject} from './IGameObject';
export interface ITreeBoundingBox extends BBox
{
gameObject: IGameObject;
}