mirror of
https://github.com/simon987/Much-Assembly-Required-Frontend.git
synced 2025-04-10 14:26:44 +00:00
399 lines
13 KiB
TypeScript
399 lines
13 KiB
TypeScript
//debug octreee is missing - Octree
|
|
//debug isoSprite is missing - IsoSprite
|
|
//gameobjectcreator isoSprite missing - IsoSprite
|
|
//gameobjectfactory isoSprite missing - IsoSprite
|
|
//debug body missing - Body
|
|
//debug bodyInfo missing -Body
|
|
declare module Phaser {
|
|
interface Physics {
|
|
isoArcade: Phaser.Plugin.Isometric.Arcade;
|
|
}
|
|
}
|
|
|
|
declare module Phaser.Plugin {
|
|
|
|
class Isometric extends Phaser.Plugin {
|
|
|
|
static CLASSIC: number;
|
|
static ISOMETRIC: number;
|
|
static MILITARY: number;
|
|
|
|
static VERSION: string;
|
|
static UP: number;
|
|
static DOWN: number;
|
|
static FORWARDX: number;
|
|
static FORWARDY: number;
|
|
static BACKWARDX: number;
|
|
static BACKWARDY: number;
|
|
|
|
static ISOSPRITE: number;
|
|
static ISOARCADE: number;
|
|
|
|
projector: Phaser.Plugin.Isometric.Projector;
|
|
|
|
constructor(game: Phaser.Game, parent?: any);
|
|
|
|
addIsoSprite(x: number, y: number, z: number, key?: any, frame?: any, group?: Phaser.Group): Phaser.Plugin.Isometric.IsoSprite;
|
|
|
|
}
|
|
|
|
module Isometric {
|
|
|
|
class Projector {
|
|
|
|
game: Phaser.Game;
|
|
anchor: Phaser.Point;
|
|
projectionAngle: number;
|
|
|
|
project(point3: Phaser.Plugin.Isometric.Point3, out?: Phaser.Point): Phaser.Point;
|
|
|
|
projectXY(point3: Phaser.Plugin.Isometric.Point3, out?: Phaser.Point): Phaser.Point;
|
|
|
|
unproject(point: Phaser.Point, out?: Phaser.Plugin.Isometric.Point3, z?: number): Phaser.Plugin.Isometric.Point3;
|
|
|
|
simpleSort(group: Phaser.Group): void;
|
|
|
|
topologicalSort(group: Phaser.Group, padding?: number, prop?: string): void;
|
|
|
|
}
|
|
|
|
class Point3 {
|
|
|
|
static add(a: Phaser.Plugin.Isometric.Point3, b: Phaser.Plugin.Isometric.Point3, out?: Phaser.Plugin.Isometric.Point3): Phaser.Plugin.Isometric.Point3;
|
|
|
|
static subtract(a: Phaser.Plugin.Isometric.Point3, b: Phaser.Plugin.Isometric.Point3, out?: Phaser.Plugin.Isometric.Point3): Phaser.Plugin.Isometric.Point3;
|
|
|
|
static multiply(a: Phaser.Plugin.Isometric.Point3, b: Phaser.Plugin.Isometric.Point3, out?: Phaser.Plugin.Isometric.Point3): Phaser.Plugin.Isometric.Point3;
|
|
|
|
static divide(a: Phaser.Plugin.Isometric.Point3, b: Phaser.Plugin.Isometric.Point3, out?: Phaser.Plugin.Isometric.Point3): Phaser.Plugin.Isometric.Point3;
|
|
|
|
static equals(a: Phaser.Plugin.Isometric.Point3, b: Phaser.Plugin.Isometric.Point3): boolean;
|
|
|
|
x: number;
|
|
y: number;
|
|
z: number;
|
|
|
|
constructor(x?: number, y?: number, z?: number);
|
|
|
|
copyFrom(source: any): Phaser.Plugin.Isometric.Point3;
|
|
|
|
copyto(dest: any): any;
|
|
|
|
equals(a: any): boolean;
|
|
|
|
set(x?: number, y?: number, z?: number): Phaser.Plugin.Isometric.Point3;
|
|
|
|
setTo(x?: number, y?: number, z?: number): Phaser.Plugin.Isometric.Point3;
|
|
|
|
add(x?: number, y?: number): Phaser.Plugin.Isometric.Point3;
|
|
|
|
subtract(x?: number, y?: number, z?: number): Phaser.Plugin.Isometric.Point3;
|
|
|
|
multiply(x?: number, y?: number, z?: number): Phaser.Plugin.Isometric.Point3;
|
|
|
|
divide(x?: number, y?: number, z?: number): Phaser.Plugin.Isometric.Point3;
|
|
|
|
containsXY(x?: number, y?: number);
|
|
|
|
}
|
|
|
|
class Octree {
|
|
|
|
maxObjects: number;
|
|
maxLevels: number;
|
|
level: number;
|
|
bounds: any;
|
|
objects: any[];
|
|
nodes: any[];
|
|
|
|
constructor(x: number, y: number, z: number, widthX: number, widthY: number, height: number, maxObject?: number, maxLevels?: number, level?: number);
|
|
|
|
reset(x: number, y: number, z: number, widthX: number, widthY: number, height: number, maxObject?: number, maxLevels?: number, level?: number): void;
|
|
|
|
populate(group: Phaser.Group): void;
|
|
|
|
populateHandler(sprite: Phaser.Plugin.Isometric.IsoSprite): void;
|
|
populateHandler(sprite: any): void;
|
|
|
|
split(): void;
|
|
|
|
insert(body: Phaser.Plugin.Isometric.Body): void;
|
|
insert(body: Phaser.Plugin.Isometric.Cube): void;
|
|
insert(body: any): void;
|
|
|
|
getIndex(cube: Phaser.Plugin.Isometric.Cube): number;
|
|
getIndex(cube: any): number;
|
|
|
|
retrieve(source: Phaser.Plugin.Isometric.IsoSprite): any[];
|
|
retrieve(source: Phaser.Plugin.Isometric.Cube): any[];
|
|
|
|
clear(): void;
|
|
|
|
}
|
|
|
|
class IsoSprite extends Phaser.Sprite {
|
|
|
|
snap: number;
|
|
isoX: number;
|
|
isoY: number;
|
|
isoZ: number;
|
|
isoPosition: Phaser.Plugin.Isometric.Point3;
|
|
isoBounds: Phaser.Plugin.Isometric.Point3;
|
|
depth: number;
|
|
|
|
constructor(game: Phaser.Game, x: number, y: number, z: number, key?: any, frame?: any);
|
|
|
|
resetIsoBounds(): void;
|
|
|
|
}
|
|
|
|
class Cube {
|
|
|
|
static size(a: Phaser.Plugin.Isometric.Cube, output?: Phaser.Plugin.Isometric.Point3): Phaser.Plugin.Isometric.Point3;
|
|
|
|
static clone(a: Phaser.Plugin.Isometric.Cube, output?: Phaser.Plugin.Isometric.Cube): Phaser.Plugin.Isometric.Cube;
|
|
|
|
static contains(a: Phaser.Plugin.Isometric.Cube, x: number, y: number, z: number): boolean;
|
|
|
|
static containsXY(a: Phaser.Plugin.Isometric.Cube, x: number, y: number): boolean;
|
|
|
|
static containsPoint3(a: Phaser.Plugin.Isometric.Cube, point3: Phaser.Plugin.Isometric.Point3): boolean;
|
|
|
|
static containsCube(a: Phaser.Plugin.Isometric.Cube, b: Phaser.Plugin.Isometric.Cube): boolean;
|
|
|
|
static intersects(a: Phaser.Plugin.Isometric.Cube, b: Phaser.Plugin.Isometric.Cube): boolean;
|
|
|
|
x: number;
|
|
y: number;
|
|
z: number;
|
|
widthX: number;
|
|
widthY: number;
|
|
height: number;
|
|
halfWidthX: number;
|
|
halfWidthY: number;
|
|
halfHeight: number;
|
|
bottom: number;
|
|
top: number;
|
|
backX: number;
|
|
backY: number;
|
|
frontX: number;
|
|
frontY: number;
|
|
volume: number;
|
|
centerX: number;
|
|
centerY: number;
|
|
centerZ: number;
|
|
randomX: number;
|
|
randomY: number;
|
|
randomZ: number;
|
|
empty: boolean;
|
|
|
|
constructor(x?: number, y?: number, z?: number, widthX?: number, widthY?: number, height?: number);
|
|
|
|
setTo(x?: number, y?: number, z?: number, widthX?: number, widthY?: number, height?: number): Phaser.Plugin.Isometric.Cube;
|
|
|
|
copyFrom(source: any): Phaser.Plugin.Isometric.Cube;
|
|
|
|
copyTo(dest: any): Phaser.Plugin.Isometric.Cube;
|
|
|
|
size(output?: Phaser.Plugin.Isometric.Point3): Phaser.Plugin.Isometric.Point3;
|
|
|
|
contains(x: number, y: number, z: number): boolean;
|
|
|
|
containsXY(x: number, y: number): boolean;
|
|
|
|
clone(output?: Phaser.Plugin.Isometric.Cube): Phaser.Plugin.Isometric.Cube;
|
|
|
|
intersects(b: Phaser.Plugin.Isometric.Cube): boolean;
|
|
|
|
getCorners(): Phaser.Plugin.Isometric.Point3[];
|
|
|
|
toString(): string;
|
|
|
|
}
|
|
|
|
class Body {
|
|
|
|
static render(context: any, body: Phaser.Plugin.Isometric.Body, color?: string, filled?: boolean): void;
|
|
|
|
static renderBodyInfo(debug: any, body: Phaser.Plugin.Isometric.Body): void; //togo debug?
|
|
|
|
sprite: Phaser.Plugin.Isometric.IsoSprite;
|
|
game: Phaser.Game;
|
|
type: number;
|
|
enable: boolean;
|
|
offset: Phaser.Plugin.Isometric.Point3;
|
|
position: Phaser.Plugin.Isometric.Point3;
|
|
prev: Phaser.Plugin.Isometric.Point3;
|
|
allowRotation: boolean;
|
|
rotation: number;
|
|
preRotation: number;
|
|
sourceWidthX: number;
|
|
sourceWidthY: number;
|
|
sourceHeight: number;
|
|
widthX: number;
|
|
widthY: number;
|
|
height: number;
|
|
halfWidthX: number;
|
|
halfWidthY: number;
|
|
halfHeight: number;
|
|
center: Phaser.Plugin.Isometric.Point3;
|
|
velocity: Phaser.Plugin.Isometric.Point3;
|
|
newVelocity: Phaser.Plugin.Isometric.Point3;
|
|
deltaMax: Phaser.Plugin.Isometric.Point3;
|
|
acceleration: Phaser.Plugin.Isometric.Point3;
|
|
drag: Phaser.Plugin.Isometric.Point3;
|
|
allowGravity: boolean;
|
|
gravity: Phaser.Plugin.Isometric.Point3;
|
|
bounce: Phaser.Plugin.Isometric.Point3;
|
|
maxVelocity: Phaser.Plugin.Isometric.Point3;
|
|
angularVelocity: number;
|
|
angularAcceleration: number;
|
|
angularDrag: number;
|
|
maxAngular: number;
|
|
mass: number;
|
|
angle: number;
|
|
speed: number;
|
|
facing: number;
|
|
immovable: boolean;
|
|
moves: boolean;
|
|
customSeparateX: boolean;
|
|
customSeparateY: boolean;
|
|
customSeparateZ: boolean;
|
|
overlapX: number;
|
|
overlapY: number;
|
|
overlayZ: number;
|
|
embedded: boolean;
|
|
collideWorldBounds: boolean;
|
|
checkCollision: {
|
|
none: boolean;
|
|
any: boolean;
|
|
up: boolean;
|
|
down: boolean;
|
|
frontX: number;
|
|
frontY: number;
|
|
backX: number;
|
|
backY: number;
|
|
};
|
|
touching: {
|
|
none: boolean;
|
|
up: boolean;
|
|
down: boolean;
|
|
frontX: number;
|
|
frontY: number;
|
|
backX: number;
|
|
backY: number;
|
|
};
|
|
wasTouching: {
|
|
none: boolean;
|
|
up: boolean;
|
|
down: boolean;
|
|
frontX: number;
|
|
frontY: number;
|
|
backX: number;
|
|
backY: number;
|
|
};
|
|
blocked: {
|
|
up: boolean;
|
|
down: boolean;
|
|
frontX: number;
|
|
frontY: number;
|
|
backX: number;
|
|
backY: number;
|
|
};
|
|
phase: number;
|
|
skipTree: boolean;
|
|
top: number;
|
|
frontX: number;
|
|
right: number;
|
|
frontY: number;
|
|
bottom: number;
|
|
x: number;
|
|
y: number;
|
|
z: number;
|
|
|
|
constructor(sprite: Phaser.Plugin.Isometric.IsoSprite);
|
|
|
|
destroy(): void;
|
|
|
|
setSize(widthX: number, widthY: number, height: number, offsetX?: number, offsetY?: number, offsetZ?: number): void;
|
|
|
|
reset(x: number, y: number, z: number): void;
|
|
|
|
hitText(x: number, y: number, z: number): boolean;
|
|
|
|
onFloor(): boolean;
|
|
|
|
onWall(): boolean;
|
|
|
|
deltaAbsX(): number;
|
|
|
|
deltaAbsY(): number;
|
|
|
|
deltaAbsZ(): number;
|
|
|
|
deltaX(): number;
|
|
|
|
deltaY(): number;
|
|
|
|
deltaZ(): number;
|
|
|
|
deltaR(): number;
|
|
|
|
getCorners(): Phaser.Plugin.Isometric.Point3[];
|
|
|
|
}
|
|
|
|
class Arcade {
|
|
|
|
game: Phaser.Game;
|
|
gravity: Phaser.Plugin.Isometric.Point3;
|
|
bounds: Phaser.Plugin.Isometric.Cube;
|
|
checkCollision: {
|
|
up: boolean;
|
|
down: boolean;
|
|
frontX: boolean;
|
|
frontY: boolean;
|
|
backX: boolean;
|
|
backY: boolean;
|
|
};
|
|
maxObjects: number;
|
|
maxLevels: number;
|
|
OVERLAP_BIAS: number;
|
|
forceXY: boolean;
|
|
skipTree: boolean;
|
|
useQuadTree: boolean;
|
|
quadTree: Phaser.QuadTree;
|
|
octree: Phaser.Plugin.Isometric.Octree;
|
|
|
|
constructor(game: Phaser.Game);
|
|
|
|
setBounds(x: number, y: number, z: number, widthX: number, widthY: number, height: number): void;
|
|
|
|
setBoundsToWorld(): void;
|
|
|
|
enable(object: any, children?: boolean): void;
|
|
|
|
enableBody(object: any): void;
|
|
|
|
updateMotion(body: Phaser.Plugin.Isometric.Body): void;
|
|
|
|
computeVelocity(axis: number, body: Phaser.Plugin.Isometric.Body, velocity: number, acceleration: number, drag: number, max?: number): number;
|
|
|
|
overlap(object1: any, object2: any, overlapCallback?: Function, processCallback?: Function, callbackContext?: any): boolean;
|
|
|
|
collide(object1: any, object2: any, overlapCallback?: Function, processCallback?: Function, callbackContext?: any): boolean;
|
|
|
|
intersects(body1: Phaser.Plugin.Isometric.Body): boolean;
|
|
|
|
distanceBetween(source: any, target: any): number;
|
|
|
|
distanceToXY(displayObject: any, x: number, y: number): number;
|
|
|
|
distanceToXYZ(displayObject: any, x: number, y: number, z: number): number;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|