From e11cae5373f302b6e54ee870cb3eba35532059ef Mon Sep 17 00:00:00 2001 From: photonstorm Date: Fri, 7 Feb 2014 02:49:59 +0000 Subject: [PATCH] Added the SAT class to the TypeScript defs file. Also this fixes #369. --- build/phaser.d.ts | 75 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 74 insertions(+), 1 deletion(-) diff --git a/build/phaser.d.ts b/build/phaser.d.ts index cc1d3087..ff10a516 100644 --- a/build/phaser.d.ts +++ b/build/phaser.d.ts @@ -1,3 +1,76 @@ +declare class SAT { + + flattenPointsOn(points: Array, normal: SAT.Vector, result: Array): Array; + isSeparatingAxis(aPos: SAT.Vector, bPos: SAT.Vector, aPoints: Array, bPoints: Array, axis: SAT.Vector, response: SAT.Response): boolean; + vornoiRegion(line: SAT.Vector, point: SAT.Vector): number; + testCircleCircle(a: SAT.Circle, b: SAT.Circle, response: SAT.Response): boolean; + testPolygonCircle(a: SAT.Polygon, b: SAT.Circle, response: SAT.Response): boolean; + testCirclePolygon(a: SAT.Circle, b: SAT.Polygon, response: SAT.Response): boolean; + testPolygonPolygon(a: SAT.Polygon, b: SAT.Polygon, response: SAT.Response): boolean; + +} + +declare module SAT { + + class Vector { + constructor(x: number, y: number); + x: number; + y: number; + copy(other: SAT.Vector): SAT.Vector; + perp(): SAT.Vector; + rotate(angle: number): SAT.Vector; + rotatePrecalc(sin: number, cos: number): SAT.Vector; + reverse(): SAT.Vector; + normalize(): SAT.Vector; + add(other: SAT.Vector): SAT.Vector; + sub(other: SAT.Vector): SAT.Vector; + scale(x: number, y: number): SAT.Vector; + project(other: SAT.Vector): SAT.Vector; + projectN(other: SAT.Vector): SAT.Vector; + reflect(axis: SAT.Vector): SAT.Vector; + reflectN(axis: SAT.Vector): SAT.Vector; + dot(other: SAT.Vector): SAT.Vector; + len2(): SAT.Vector; + len(): SAT.Vector; + } + + class Circle { + constructor(pos: SAT.Vector, radius: number); + pos: SAT.Vector; + r: number; + } + + class Polygon { + constructor(pos: SAT.Vector, points: Array); + pos: SAT.Vector; + points: Array; + recalc(): SAT.Polygon; + rotate(angle: number): SAT.Polygon; + scale(x: number, y: number): SAT.Polygon; + translate(x: number, y: number): SAT.Polygon; + } + + class Box { + constructor(pos: SAT.Vector, w: number, h: number); + pos: SAT.Vector; + w: number; + h: number; + toPolygon(): SAT.Polygon; + } + + class Response { + constructor(); + a: any; + b: any; + overlapN: SAT.Vector; + overlapV: SAT.Vector; + clear(): SAT.Response; + aInB: boolean; + bInA: boolean; + overlap: number; + } +} + declare class Phaser { static VERSION: string; static DEV_VERSION: string; @@ -1748,7 +1821,7 @@ declare module Phaser { separate(body: Phaser.Physics.Arcade.Body, body2: Phaser.Physics.Arcade.Body, processCallback: Function, callbackContext: any, overlapOnly: boolean): boolean; intersects(a: Phaser.Physics.Arcade.Body, b: Phaser.Physics.Arcade.Body): boolean; tileIntersects(body: Phaser.Physics.Arcade.Body, tile: Phaser.Tile): boolean; - separateTiles(body: Phaser.Physics.Arcade.Body, tile: Array): boolean; + separateTiles(body: Phaser.Physics.Arcade.Body, tile: Array): boolean; separateTile(body: Phaser.Physics.Arcade.Body, tile: Phaser.Tile): boolean; processTileSeparation(body: Phaser.Physics.Arcade.Body): boolean; moveToObject(displayObject: Phaser.Sprite, destination: Phaser.Sprite, speed?: number, maxTime?: number): number;