angry-pixel 1.0.5 → 1.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Engine/Component.d.ts +15 -4
- package/lib/Engine/Components/Animator.d.ts +0 -1
- package/lib/Engine/Components/AudioPlayer.d.ts +0 -1
- package/lib/Engine/Components/Camera.d.ts +0 -1
- package/lib/Engine/Components/Colliders/BoxCollider.d.ts +0 -1
- package/lib/Engine/Components/Colliders/TilemapCollider.d.ts +0 -1
- package/lib/Engine/Components/ComponentTypes.d.ts +13 -0
- package/lib/Engine/Components/Renderer/CsvTilemapRenderer.d.ts +2 -1
- package/lib/Engine/Components/Renderer/SpriteRenderer.d.ts +2 -1
- package/lib/Engine/Components/Renderer/TextRenderer.d.ts +8 -1
- package/lib/Engine/Components/Renderer/TiledTilemapRenderer.d.ts +1 -1
- package/lib/Engine/Components/Renderer/TilemapRenderer.d.ts +16 -3
- package/lib/Engine/Components/RigidBody.d.ts +0 -1
- package/lib/Engine/Components/Transform.d.ts +0 -1
- package/lib/Engine/Core/GameObject/GameObjectManager.d.ts +5 -5
- package/lib/Engine/Core/Input/GamepadController.d.ts +1 -1
- package/lib/Engine/Core/Rendering/RenderData/ImageRenderData.d.ts +1 -0
- package/lib/Engine/Core/Rendering/RenderData/TextRenderData.d.ts +4 -0
- package/lib/Engine/Core/Rendering/RenderData/TilemapRenderData.d.ts +1 -0
- package/lib/Engine/Core/Rendering/WebGL/ProgramManager.d.ts +7 -3
- package/lib/Engine/Core/Rendering/WebGL/Renderer/GeometricRenderer.d.ts +0 -1
- package/lib/Engine/Core/Rendering/WebGL/Renderer/ImageRenderer.d.ts +0 -1
- package/lib/Engine/Core/Rendering/WebGL/Renderer/TextRenderer.d.ts +2 -1
- package/lib/Engine/Core/Rendering/WebGL/Renderer/TilemapRenderer.d.ts +0 -1
- package/lib/Engine/Core/Rendering/WebGL/Shader/Legacy/imageFragmentShader.d.ts +1 -1
- package/lib/Engine/Core/Rendering/WebGL/Shader/imageFragmentShader.d.ts +1 -1
- package/lib/Engine/Core/Rendering/WebGL/Utils.d.ts +3 -2
- package/lib/Engine/Facades/GameObjectManagerFacade.d.ts +4 -4
- package/lib/Engine/GameObject.d.ts +12 -7
- package/lib/Engine/Math/Rotation.d.ts +4 -0
- package/lib/Engine/Scene.d.ts +10 -5
- package/lib/component/Animation.d.ts +12 -0
- package/lib/component/Animator.d.ts +18 -0
- package/lib/component/AudioPlayer.d.ts +27 -0
- package/lib/component/Camera.d.ts +30 -0
- package/lib/component/ComponentTypes.d.ts +14 -0
- package/lib/component/RigidBody.d.ts +39 -0
- package/lib/component/Sprite.d.ts +31 -0
- package/lib/component/Transform.d.ts +32 -0
- package/lib/component/colliderComponent/AbstractColliderComponent.d.ts +22 -0
- package/lib/component/colliderComponent/BoxCollider.d.ts +32 -0
- package/lib/component/colliderComponent/TilemapCollider.d.ts +15 -0
- package/lib/component/renderingComponent/MaskRenderer.d.ts +29 -0
- package/lib/component/renderingComponent/SpriteRenderer.d.ts +46 -0
- package/lib/component/renderingComponent/TextRenderer.d.ts +49 -0
- package/lib/component/renderingComponent/tilemap/CsvTilemapRenderer.d.ts +13 -0
- package/lib/component/renderingComponent/tilemap/Tile.d.ts +7 -0
- package/lib/component/renderingComponent/tilemap/TileData.d.ts +10 -0
- package/lib/component/renderingComponent/tilemap/TiledTilemapRenderer.d.ts +43 -0
- package/lib/component/renderingComponent/tilemap/TilemapRenderer.d.ts +72 -0
- package/lib/component/renderingComponent/tilemap/Tileset.d.ts +25 -0
- package/lib/core/Component.d.ts +130 -0
- package/lib/core/Game.d.ts +77 -0
- package/lib/core/GameObject.d.ts +158 -0
- package/lib/core/Scene.d.ts +67 -0
- package/lib/core/facades/AssetManagerFacade.d.ts +29 -0
- package/lib/core/facades/DomManagerFacade.d.ts +8 -0
- package/lib/core/facades/GameObjectManagerFacade.d.ts +54 -0
- package/lib/core/facades/InputManagerFacade.d.ts +13 -0
- package/lib/core/facades/SceneManagerFacade.d.ts +18 -0
- package/lib/core/facades/TimeManagerFacade.d.ts +10 -0
- package/lib/core/ioc/Config.d.ts +3 -0
- package/lib/core/managers/AssetManager.d.ts +16 -0
- package/lib/core/managers/DomManager.d.ts +9 -0
- package/lib/core/managers/GameObjectManager.d.ts +17 -0
- package/lib/core/managers/IterationManager.d.ts +29 -0
- package/lib/core/managers/SceneManager.d.ts +18 -0
- package/lib/core/managers/TimeManager.d.ts +18 -0
- package/lib/gameObject/GameCamera.d.ts +17 -0
- package/lib/gameObject/SpacePointer.d.ts +8 -0
- package/lib/index.cjs.js +1 -1
- package/lib/index.d.ts +39 -36
- package/lib/index.esm.js +1 -1
- package/lib/index.js +1 -1
- package/lib/input/GamepadController.d.ts +48 -0
- package/lib/input/InputManager.d.ts +12 -0
- package/lib/input/KeyboardController.d.ts +12 -0
- package/lib/input/MouseController.d.ts +21 -0
- package/lib/input/TouchController.d.ts +13 -0
- package/lib/math/Rectangle.d.ts +50 -0
- package/lib/math/Rotation.d.ts +16 -0
- package/lib/math/Utils.d.ts +33 -0
- package/lib/math/Vector2.d.ts +114 -0
- package/lib/physics/collision/CollisionData.d.ts +8 -0
- package/lib/physics/collision/CollisionManager.d.ts +27 -0
- package/lib/physics/collision/QuadTree.d.ts +32 -0
- package/lib/physics/collision/collider/ICollider.d.ts +13 -0
- package/lib/physics/collision/collider/RectangleCollider.d.ts +31 -0
- package/lib/physics/collision/resolver/AABBResolver.d.ts +14 -0
- package/lib/physics/collision/resolver/ICollisionResolver.d.ts +5 -0
- package/lib/physics/collision/resolver/SatResolver.d.ts +14 -0
- package/lib/physics/collision/shape/Rectangle.d.ts +13 -0
- package/lib/physics/collision/shape/Shape.d.ts +28 -0
- package/lib/rendering/CameraData.d.ts +9 -0
- package/lib/rendering/ContextRenderer.d.ts +6 -0
- package/lib/rendering/CullingService.d.ts +11 -0
- package/lib/rendering/FontAtlasFactory.d.ts +24 -0
- package/lib/rendering/RenderManager.d.ts +22 -0
- package/lib/rendering/context2D/Context2DRenderer.d.ts +19 -0
- package/lib/rendering/renderData/ColliderRenderData.d.ts +7 -0
- package/lib/rendering/renderData/GeometricRenderData.d.ts +12 -0
- package/lib/rendering/renderData/ImageRenderData.d.ts +22 -0
- package/lib/rendering/renderData/MaskRenderData.d.ts +9 -0
- package/lib/rendering/renderData/RenderData.d.ts +23 -0
- package/lib/rendering/renderData/TextRenderData.d.ts +22 -0
- package/lib/rendering/renderData/TilemapRenderData.d.ts +22 -0
- package/lib/rendering/webGL/ProgramFactory.d.ts +7 -0
- package/lib/rendering/webGL/ProgramManager.d.ts +26 -0
- package/lib/rendering/webGL/ShaderLoader.d.ts +3 -0
- package/lib/rendering/webGL/TextureFactory.d.ts +8 -0
- package/lib/rendering/webGL/TextureManager.d.ts +11 -0
- package/lib/rendering/webGL/Utils.d.ts +7 -0
- package/lib/rendering/webGL/WebGLRenderer.d.ts +36 -0
- package/lib/rendering/webGL/renderer/GeometricRenderer.d.ts +22 -0
- package/lib/rendering/webGL/renderer/ImageRenderer.d.ts +16 -0
- package/lib/rendering/webGL/renderer/MaskRenderer.d.ts +14 -0
- package/lib/rendering/webGL/renderer/TextRenderer.d.ts +21 -0
- package/lib/rendering/webGL/renderer/TilemapRenderer.d.ts +19 -0
- package/lib/rendering/webGL/shader/imageFragmentShader.d.ts +1 -0
- package/lib/rendering/webGL/shader/imageVertexShader.d.ts +1 -0
- package/lib/rendering/webGL/shader/legacy/imageFragmentShader.d.ts +1 -0
- package/lib/rendering/webGL/shader/legacy/imageVertexShader.d.ts +1 -0
- package/lib/utils/Container.d.ts +12 -0
- package/lib/utils/Exception.d.ts +4 -0
- package/lib/utils/UUID.d.ts +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Vector2 } from "..";
|
|
2
|
+
export declare class GamepadController {
|
|
3
|
+
private readonly gamepads;
|
|
4
|
+
constructor();
|
|
5
|
+
getGamepad(index: number): GamepadData;
|
|
6
|
+
private eventHandler;
|
|
7
|
+
private gamepadConnected;
|
|
8
|
+
private gamepadDisconected;
|
|
9
|
+
update(): void;
|
|
10
|
+
private getGamepads;
|
|
11
|
+
}
|
|
12
|
+
export declare class GamepadData {
|
|
13
|
+
private _connected;
|
|
14
|
+
private _id;
|
|
15
|
+
private readonly buttons;
|
|
16
|
+
private readonly axes;
|
|
17
|
+
private readonly _dpadAxes;
|
|
18
|
+
private readonly _leftStickAxes;
|
|
19
|
+
private readonly _rightStickAxes;
|
|
20
|
+
updateFromGamepad(gamepad: Gamepad): void;
|
|
21
|
+
get id(): string;
|
|
22
|
+
getButtonPressed(index: number): boolean;
|
|
23
|
+
getAxis(index: number): number;
|
|
24
|
+
get dpadAxes(): Vector2;
|
|
25
|
+
get leftStickAxes(): Vector2;
|
|
26
|
+
get rightStickAxes(): Vector2;
|
|
27
|
+
get connected(): boolean;
|
|
28
|
+
get dpadUp(): boolean;
|
|
29
|
+
get dpadDown(): boolean;
|
|
30
|
+
get dpadLeft(): boolean;
|
|
31
|
+
get dpadRight(): boolean;
|
|
32
|
+
get bottomFace(): boolean;
|
|
33
|
+
get rightFace(): boolean;
|
|
34
|
+
get leftFace(): boolean;
|
|
35
|
+
get topFace(): boolean;
|
|
36
|
+
get leftShoulder(): boolean;
|
|
37
|
+
get rightShoulder(): boolean;
|
|
38
|
+
get leftTrigger(): boolean;
|
|
39
|
+
get rightTrigger(): boolean;
|
|
40
|
+
get back(): boolean;
|
|
41
|
+
get start(): boolean;
|
|
42
|
+
get leftStickButton(): boolean;
|
|
43
|
+
get rightStickButton(): boolean;
|
|
44
|
+
get leftStickHorizontal(): number;
|
|
45
|
+
get leftStickVertical(): number;
|
|
46
|
+
get rightStickHorizontal(): number;
|
|
47
|
+
get rightStickVertical(): number;
|
|
48
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { MouseController } from "./MouseController";
|
|
2
|
+
import { KeyboardController } from "./KeyboardController";
|
|
3
|
+
import { GamepadController } from "./GamepadController";
|
|
4
|
+
import { TouchController } from "./TouchController";
|
|
5
|
+
export declare class InputManager {
|
|
6
|
+
mouse: MouseController;
|
|
7
|
+
keyboard: KeyboardController;
|
|
8
|
+
gamepad: GamepadController;
|
|
9
|
+
touch: TouchController;
|
|
10
|
+
constructor(mouse: MouseController, keyboard: KeyboardController, gamepad: GamepadController, touch: TouchController);
|
|
11
|
+
update(): void;
|
|
12
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare class KeyboardController {
|
|
2
|
+
private canvas;
|
|
3
|
+
private keyPresses;
|
|
4
|
+
constructor(canvas: HTMLCanvasElement);
|
|
5
|
+
private eventHandler;
|
|
6
|
+
isPressed(keyCode: string): boolean;
|
|
7
|
+
orPressed(keyCodes: string[]): boolean;
|
|
8
|
+
andPressed(keyCodes: string[]): boolean;
|
|
9
|
+
isPressedReturn<T>(keyCode: string, returnTrue: T, returnFalse: T): T;
|
|
10
|
+
orPressedReturn<T>(keyCodes: string[], returnTrue: T, returnFalse: T): T;
|
|
11
|
+
andPressedReturn<T>(keyCodes: string[], returnTrue: T, returnFalse: T): T;
|
|
12
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Vector2 } from "../math/Vector2";
|
|
2
|
+
export declare class MouseController {
|
|
3
|
+
private _leftButtonPressed;
|
|
4
|
+
private _scrollButtonPressed;
|
|
5
|
+
private _rightButtonPressed;
|
|
6
|
+
private _positionInViewport;
|
|
7
|
+
private _hasMoved;
|
|
8
|
+
private lastPositionInViewport;
|
|
9
|
+
private canvas;
|
|
10
|
+
constructor(canvas: HTMLCanvasElement);
|
|
11
|
+
get leftButtonPressed(): boolean;
|
|
12
|
+
get scrollButtonPressed(): boolean;
|
|
13
|
+
get rightButtonPressed(): boolean;
|
|
14
|
+
get positionInViewport(): Vector2;
|
|
15
|
+
get hasMoved(): boolean;
|
|
16
|
+
update(): void;
|
|
17
|
+
private setup;
|
|
18
|
+
private updateButtonDown;
|
|
19
|
+
private updateButtonUp;
|
|
20
|
+
private updatePosition;
|
|
21
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Vector2 } from "../math/Vector2";
|
|
2
|
+
export declare class TouchController {
|
|
3
|
+
private canvas;
|
|
4
|
+
private _touching;
|
|
5
|
+
private _positionInViewport;
|
|
6
|
+
private _radius;
|
|
7
|
+
constructor(canvas: HTMLCanvasElement);
|
|
8
|
+
get positionInViewport(): Vector2;
|
|
9
|
+
get touching(): boolean;
|
|
10
|
+
get radius(): Vector2;
|
|
11
|
+
private eventHandler;
|
|
12
|
+
private updatePosition;
|
|
13
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Vector2 } from "./Vector2";
|
|
2
|
+
export declare class Rectangle {
|
|
3
|
+
private _position;
|
|
4
|
+
private _center;
|
|
5
|
+
private _width;
|
|
6
|
+
private _height;
|
|
7
|
+
constructor(x: number, y: number, width: number, height: number);
|
|
8
|
+
get x(): number;
|
|
9
|
+
set x(value: number);
|
|
10
|
+
get y(): number;
|
|
11
|
+
set y(value: number);
|
|
12
|
+
get x1(): number;
|
|
13
|
+
get y1(): number;
|
|
14
|
+
get position(): Vector2;
|
|
15
|
+
set position(position: Vector2);
|
|
16
|
+
get width(): number;
|
|
17
|
+
set width(width: number);
|
|
18
|
+
get height(): number;
|
|
19
|
+
set height(height: number);
|
|
20
|
+
get center(): Vector2;
|
|
21
|
+
/**
|
|
22
|
+
* Set the rectangle
|
|
23
|
+
*
|
|
24
|
+
* @param x
|
|
25
|
+
* @param y
|
|
26
|
+
* @param width
|
|
27
|
+
* @param height
|
|
28
|
+
*/
|
|
29
|
+
set(x: number, y: number, width: number, height: number): void;
|
|
30
|
+
/**
|
|
31
|
+
* Compare if two rectangles are equals
|
|
32
|
+
*
|
|
33
|
+
* @param vector The rectangle to compare
|
|
34
|
+
* @returns True if the rectangles are equals, false if not
|
|
35
|
+
*/
|
|
36
|
+
equals(rectangle: Rectangle): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Set the rectangle properties from another rectangle
|
|
39
|
+
*
|
|
40
|
+
* @param rect The rectangleto to update from
|
|
41
|
+
*/
|
|
42
|
+
updateFromRect(rect: Rectangle): void;
|
|
43
|
+
/**
|
|
44
|
+
* Check if the rectangle is overlapping another rectangle
|
|
45
|
+
*
|
|
46
|
+
* @param rect The rectangle to compare
|
|
47
|
+
* @returns TRUE or FALSE
|
|
48
|
+
*/
|
|
49
|
+
overlappingRectangle(rect: Rectangle): boolean;
|
|
50
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Vector2 } from "./Vector2";
|
|
2
|
+
export declare class Rotation {
|
|
3
|
+
private _degrees;
|
|
4
|
+
private _radians;
|
|
5
|
+
private _direction;
|
|
6
|
+
constructor(config?: {
|
|
7
|
+
radians?: number;
|
|
8
|
+
degrees?: number;
|
|
9
|
+
});
|
|
10
|
+
set degrees(degrees: number);
|
|
11
|
+
get degrees(): number;
|
|
12
|
+
set radians(radians: number);
|
|
13
|
+
get radians(): number;
|
|
14
|
+
get direction(): Vector2;
|
|
15
|
+
private updateDirection;
|
|
16
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @param value number to clamp
|
|
3
|
+
* @param min min value
|
|
4
|
+
* @param max max value
|
|
5
|
+
* @returns clamped value
|
|
6
|
+
*/
|
|
7
|
+
export declare const clamp: (value: number, min: number, max: number) => number;
|
|
8
|
+
/**
|
|
9
|
+
* @param min min value
|
|
10
|
+
* @param max max value
|
|
11
|
+
* @returns the random value
|
|
12
|
+
*/
|
|
13
|
+
export declare const random: (min: number, max: number) => number;
|
|
14
|
+
/**
|
|
15
|
+
* @param value the value to round
|
|
16
|
+
* @param decimals the number of decimals
|
|
17
|
+
* @returns the rounded value
|
|
18
|
+
*/
|
|
19
|
+
export declare const fixedRound: (value: number, decimals: number) => number;
|
|
20
|
+
/**
|
|
21
|
+
* @param start the starting value
|
|
22
|
+
* @param end the end value
|
|
23
|
+
* @param steps the steps to move
|
|
24
|
+
* @returns number range
|
|
25
|
+
*/
|
|
26
|
+
export declare const range: (start: number, end: number, steps?: number) => number[];
|
|
27
|
+
/**
|
|
28
|
+
* @param value number to compare
|
|
29
|
+
* @param min min value
|
|
30
|
+
* @param max max value
|
|
31
|
+
* @returns true if the number is between the min and the max, false instead
|
|
32
|
+
*/
|
|
33
|
+
export declare const between: (value: number, min: number, max: number) => boolean;
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
export declare class Vector2 {
|
|
2
|
+
private _x;
|
|
3
|
+
private _y;
|
|
4
|
+
constructor(x?: number, y?: number);
|
|
5
|
+
get x(): number;
|
|
6
|
+
set x(x: number);
|
|
7
|
+
get y(): number;
|
|
8
|
+
set y(y: number);
|
|
9
|
+
/**
|
|
10
|
+
* Get the magnitude of the vector
|
|
11
|
+
*
|
|
12
|
+
* @returns The magnitude of the vector
|
|
13
|
+
*/
|
|
14
|
+
get magnitude(): number;
|
|
15
|
+
/**
|
|
16
|
+
* Set the vector
|
|
17
|
+
*
|
|
18
|
+
* @param x
|
|
19
|
+
* @param y
|
|
20
|
+
*/
|
|
21
|
+
set(x: number, y: number): void;
|
|
22
|
+
/**
|
|
23
|
+
* Copy the target vector properties
|
|
24
|
+
*
|
|
25
|
+
* @param vector
|
|
26
|
+
*/
|
|
27
|
+
copy(vector: Vector2): void;
|
|
28
|
+
/**
|
|
29
|
+
* Compare if two vector are equals
|
|
30
|
+
*
|
|
31
|
+
* @param vector The vector to compare
|
|
32
|
+
* @returns True if the vectors are equals, false if not
|
|
33
|
+
*/
|
|
34
|
+
equals(vector: Vector2): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Colne a vector into a new instace
|
|
37
|
+
*
|
|
38
|
+
* @returns The cloned vector
|
|
39
|
+
*/
|
|
40
|
+
clone(): Vector2;
|
|
41
|
+
/**
|
|
42
|
+
* Get the distance with another vector
|
|
43
|
+
*
|
|
44
|
+
* @param vector The vector to compare
|
|
45
|
+
* @returns The magnitude of the distance
|
|
46
|
+
*/
|
|
47
|
+
distance(vector: Vector2): number;
|
|
48
|
+
/**
|
|
49
|
+
* Calculates a + b
|
|
50
|
+
*
|
|
51
|
+
* @param out The output vector
|
|
52
|
+
* @param a The first operand
|
|
53
|
+
* @param b The second operand
|
|
54
|
+
* @returns The output vector
|
|
55
|
+
*/
|
|
56
|
+
static add(out: Vector2, a: Vector2, b: Vector2): Vector2;
|
|
57
|
+
/**
|
|
58
|
+
* Calculates a - b
|
|
59
|
+
*
|
|
60
|
+
* @param out The output vector
|
|
61
|
+
* @param a The first operand
|
|
62
|
+
* @param b The second operand
|
|
63
|
+
* @returns The output vector
|
|
64
|
+
*/
|
|
65
|
+
static subtract(out: Vector2, a: Vector2, b: Vector2): Vector2;
|
|
66
|
+
/**
|
|
67
|
+
* Returns the unit vector
|
|
68
|
+
*
|
|
69
|
+
* @param out The output vector
|
|
70
|
+
* @param a The vector to get the unit
|
|
71
|
+
* @returns The output vector
|
|
72
|
+
*/
|
|
73
|
+
static unit(out: Vector2, a: Vector2): Vector2;
|
|
74
|
+
/**
|
|
75
|
+
* Normalize a vector
|
|
76
|
+
*
|
|
77
|
+
* @param out The output vector
|
|
78
|
+
* @param a The vector to normalize
|
|
79
|
+
* @returns The output vector
|
|
80
|
+
*/
|
|
81
|
+
static normal(out: Vector2, a: Vector2): Vector2;
|
|
82
|
+
/**
|
|
83
|
+
* Scale a vector
|
|
84
|
+
*
|
|
85
|
+
* @param out The output vector
|
|
86
|
+
* @param a The vector to scale
|
|
87
|
+
* @param scalar The scalar value
|
|
88
|
+
* @returns The output vector
|
|
89
|
+
*/
|
|
90
|
+
static scale(out: Vector2, a: Vector2, scalar: number): Vector2;
|
|
91
|
+
/**
|
|
92
|
+
* Calculates the dot product of two vectors and returns a scalar value
|
|
93
|
+
*
|
|
94
|
+
* @param a The first operand
|
|
95
|
+
* @param b The second operand
|
|
96
|
+
* @returns The dot product result
|
|
97
|
+
*/
|
|
98
|
+
static dot(a: Vector2, b: Vector2): number;
|
|
99
|
+
/**
|
|
100
|
+
* Calculates the cross product of two vectors and returns a scalar value
|
|
101
|
+
*
|
|
102
|
+
* @param a The first operand
|
|
103
|
+
* @param b The second operand
|
|
104
|
+
* @returns The cross produc result
|
|
105
|
+
*/
|
|
106
|
+
static cross(a: Vector2, b: Vector2): number;
|
|
107
|
+
/**
|
|
108
|
+
* Rounds a vector
|
|
109
|
+
*
|
|
110
|
+
* @param a The vector to round
|
|
111
|
+
* @returns The output vector
|
|
112
|
+
*/
|
|
113
|
+
static round(out: Vector2, a: Vector2): Vector2;
|
|
114
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Vector2 } from "../../math/Vector2";
|
|
2
|
+
export declare class CollisionData {
|
|
3
|
+
private _penetration;
|
|
4
|
+
private _displacementDirection;
|
|
5
|
+
constructor(penetration: number, displacementDirection: Vector2);
|
|
6
|
+
get penetration(): number;
|
|
7
|
+
get displacementDirection(): Vector2;
|
|
8
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Rectangle } from "../../math/Rectangle";
|
|
2
|
+
import { ICollider } from "./collider/ICollider";
|
|
3
|
+
import { CollisionData } from "./CollisionData";
|
|
4
|
+
import { ICollisionResolver } from "./resolver/ICollisionResolver";
|
|
5
|
+
export interface Collision {
|
|
6
|
+
localCollider: ICollider;
|
|
7
|
+
remoteCollider: ICollider;
|
|
8
|
+
collisionData: CollisionData;
|
|
9
|
+
}
|
|
10
|
+
export declare class CollisionManager {
|
|
11
|
+
private colliders;
|
|
12
|
+
private quadTree;
|
|
13
|
+
private bounds;
|
|
14
|
+
private fixedQuadTree;
|
|
15
|
+
private resolver;
|
|
16
|
+
private minBounds;
|
|
17
|
+
private maxBounds;
|
|
18
|
+
private newBounds;
|
|
19
|
+
constructor(resolver: ICollisionResolver, quadTreeBounds: Rectangle | null, quadMaxLevel: number, collidersPerQuad: number);
|
|
20
|
+
addCollider(collider: ICollider): void;
|
|
21
|
+
removeCollider(collider: ICollider): void;
|
|
22
|
+
getCollisionsForCollider(collider: ICollider): Collision[];
|
|
23
|
+
private broadPhase;
|
|
24
|
+
private narrowPhase;
|
|
25
|
+
update(): void;
|
|
26
|
+
private updateNewBounds;
|
|
27
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Rectangle } from "../../math/Rectangle";
|
|
2
|
+
import { ICollider } from "./collider/ICollider";
|
|
3
|
+
export declare const DEFAULT_MAX_COLLIDERS: number;
|
|
4
|
+
export declare const DEFAULT_MAX_LEVELS: number;
|
|
5
|
+
export declare class QuadTree {
|
|
6
|
+
private _bounds;
|
|
7
|
+
private _quadrants;
|
|
8
|
+
private readonly maxLevels;
|
|
9
|
+
private readonly maxColliders;
|
|
10
|
+
private readonly level;
|
|
11
|
+
private colliders;
|
|
12
|
+
private readonly sw;
|
|
13
|
+
private readonly se;
|
|
14
|
+
private readonly nw;
|
|
15
|
+
private readonly ne;
|
|
16
|
+
private center;
|
|
17
|
+
private childrenWidth;
|
|
18
|
+
private childrenHeight;
|
|
19
|
+
private quadrantsForCollider;
|
|
20
|
+
constructor(level: number, bounds: Rectangle, maxLevels?: number, maxColliders?: number);
|
|
21
|
+
get bounds(): Rectangle;
|
|
22
|
+
get quadrants(): QuadTree[];
|
|
23
|
+
updateBounds(bounds: Rectangle): void;
|
|
24
|
+
clearColliders(): void;
|
|
25
|
+
clearQuadrants(): void;
|
|
26
|
+
addCollider(collider: ICollider): void;
|
|
27
|
+
retrieve(collider: ICollider): ICollider[];
|
|
28
|
+
private splitQuad;
|
|
29
|
+
private getChildrenQuadrantForCollider;
|
|
30
|
+
private insertColliderIntoChildrenQuads;
|
|
31
|
+
private updateCache;
|
|
32
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { GameObject } from "../../../core/GameObject";
|
|
2
|
+
import { Vector2 } from "../../../math/Vector2";
|
|
3
|
+
import { Shape } from "../shape/Shape";
|
|
4
|
+
export interface ICollider {
|
|
5
|
+
position: Vector2;
|
|
6
|
+
readonly shape: Shape;
|
|
7
|
+
readonly gameObject: GameObject;
|
|
8
|
+
readonly physics: boolean;
|
|
9
|
+
readonly bottomLeftQuadVertex: Vector2;
|
|
10
|
+
readonly bottomRightQuadVertex: Vector2;
|
|
11
|
+
readonly topLeftQuadVertex: Vector2;
|
|
12
|
+
readonly topRightQuadVertex: Vector2;
|
|
13
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { GameObject } from "../../../core/GameObject";
|
|
2
|
+
import { Vector2 } from "../../../math/Vector2";
|
|
3
|
+
import { Rectangle } from "../shape/Rectangle";
|
|
4
|
+
import { ICollider } from "./ICollider";
|
|
5
|
+
export declare class RectangleCollider implements ICollider {
|
|
6
|
+
readonly gameObject: GameObject;
|
|
7
|
+
readonly shape: Rectangle;
|
|
8
|
+
readonly physics: boolean;
|
|
9
|
+
private _position;
|
|
10
|
+
private _width;
|
|
11
|
+
private _height;
|
|
12
|
+
private _angle;
|
|
13
|
+
private _quadVertices;
|
|
14
|
+
private _quadMaxBounds;
|
|
15
|
+
private _quadMinBounds;
|
|
16
|
+
constructor(position: Vector2, width: number, height: number, physics: boolean, gameObject: GameObject, angle?: number);
|
|
17
|
+
set position(coordinates: Vector2);
|
|
18
|
+
get position(): Vector2;
|
|
19
|
+
set width(width: number);
|
|
20
|
+
get width(): number;
|
|
21
|
+
set height(height: number);
|
|
22
|
+
get height(): number;
|
|
23
|
+
get angle(): number;
|
|
24
|
+
set angle(angle: number);
|
|
25
|
+
get bottomLeftQuadVertex(): Vector2;
|
|
26
|
+
get bottomRightQuadVertex(): Vector2;
|
|
27
|
+
get topLeftQuadVertex(): Vector2;
|
|
28
|
+
get topRightQuadVertex(): Vector2;
|
|
29
|
+
private updateShape;
|
|
30
|
+
private updateQuadVertices;
|
|
31
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CollisionData } from "../CollisionData";
|
|
2
|
+
import { Shape } from "../shape/Shape";
|
|
3
|
+
import { ICollisionResolver } from "./ICollisionResolver";
|
|
4
|
+
export declare class AABBResolver implements ICollisionResolver {
|
|
5
|
+
private shape1Rect;
|
|
6
|
+
private shape2Rect;
|
|
7
|
+
private overlapX;
|
|
8
|
+
private overlapY;
|
|
9
|
+
private minOverlap;
|
|
10
|
+
private displaceDirection;
|
|
11
|
+
getCollisionData(shape1: Shape, shape2: Shape): CollisionData | null;
|
|
12
|
+
private setShapeRect;
|
|
13
|
+
private preventContainment;
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Shape } from "../shape/Shape";
|
|
2
|
+
import { CollisionData } from "../CollisionData";
|
|
3
|
+
import { ICollisionResolver } from "./ICollisionResolver";
|
|
4
|
+
export declare class SatResolver implements ICollisionResolver {
|
|
5
|
+
private axes;
|
|
6
|
+
private proj1;
|
|
7
|
+
private proj2;
|
|
8
|
+
private currentOverlap;
|
|
9
|
+
private minOverlap;
|
|
10
|
+
private displaceDirection;
|
|
11
|
+
getCollisionData(shape1: Shape, shape2: Shape): CollisionData | null;
|
|
12
|
+
private projectShapeOntoAxis;
|
|
13
|
+
private preventContainment;
|
|
14
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Vector2 } from "../../../math/Vector2";
|
|
2
|
+
import { Shape } from "./Shape";
|
|
3
|
+
export declare class Rectangle extends Shape {
|
|
4
|
+
private cacheVector;
|
|
5
|
+
private axes;
|
|
6
|
+
constructor(position: Vector2, width: number, height: number, angle?: number);
|
|
7
|
+
update(): void;
|
|
8
|
+
private updateModel;
|
|
9
|
+
private updateDirection;
|
|
10
|
+
private updateAxes;
|
|
11
|
+
clone(): Rectangle;
|
|
12
|
+
getAxes(): Vector2[];
|
|
13
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Vector2 } from "../../../math/Vector2";
|
|
2
|
+
export declare enum ShapeType {
|
|
3
|
+
Rectangle = 0
|
|
4
|
+
}
|
|
5
|
+
export declare abstract class Shape {
|
|
6
|
+
protected _type: ShapeType;
|
|
7
|
+
protected _model: Vector2[];
|
|
8
|
+
protected _vertices: Vector2[];
|
|
9
|
+
protected _position: Vector2;
|
|
10
|
+
protected _direction: Vector2;
|
|
11
|
+
protected _height: number;
|
|
12
|
+
protected _width: number;
|
|
13
|
+
protected _angle: number;
|
|
14
|
+
get type(): ShapeType;
|
|
15
|
+
get position(): Vector2;
|
|
16
|
+
set position(position: Vector2);
|
|
17
|
+
get angle(): number;
|
|
18
|
+
set angle(angle: number);
|
|
19
|
+
get width(): number;
|
|
20
|
+
set width(width: number);
|
|
21
|
+
get height(): number;
|
|
22
|
+
set height(height: number);
|
|
23
|
+
get direction(): Vector2;
|
|
24
|
+
get vertices(): Vector2[];
|
|
25
|
+
abstract update(): void;
|
|
26
|
+
abstract clone(): Shape;
|
|
27
|
+
abstract getAxes(): Vector2[];
|
|
28
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { CameraData } from "./CameraData";
|
|
2
|
+
import { RenderData } from "./renderData/RenderData";
|
|
3
|
+
export declare class CullingService {
|
|
4
|
+
applyCulling(camera: CameraData, renderDataCollection: RenderData[]): RenderData[];
|
|
5
|
+
private cullSprite;
|
|
6
|
+
private cullTilemap;
|
|
7
|
+
private cullCollider;
|
|
8
|
+
private cullGeometric;
|
|
9
|
+
private cullText;
|
|
10
|
+
private isTargetVisible;
|
|
11
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export declare class FontAtlasFactory {
|
|
2
|
+
private bitmapSize;
|
|
3
|
+
private chars;
|
|
4
|
+
private fontAtlas;
|
|
5
|
+
private loading;
|
|
6
|
+
hasFontAtlas(fontFamily: string): boolean;
|
|
7
|
+
loadingFontAtlas(fontFamily: string): boolean;
|
|
8
|
+
getFontAtlas(fontFamily: string): FontAtlas;
|
|
9
|
+
asyncCreate(charRanges: number[], fontFamily: string, fontUrl?: string, bitmapSize?: number): void;
|
|
10
|
+
private loadFont;
|
|
11
|
+
private renderAtlas;
|
|
12
|
+
}
|
|
13
|
+
export declare class FontAtlas {
|
|
14
|
+
readonly name: string;
|
|
15
|
+
readonly canvas: HTMLCanvasElement;
|
|
16
|
+
readonly glyphsData: Map<string, GlyphData>;
|
|
17
|
+
constructor(name: string);
|
|
18
|
+
}
|
|
19
|
+
export interface GlyphData {
|
|
20
|
+
x: number;
|
|
21
|
+
y: number;
|
|
22
|
+
width: number;
|
|
23
|
+
height: number;
|
|
24
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ContextRenderer } from "./ContextRenderer";
|
|
2
|
+
import { RenderData } from "./renderData/RenderData";
|
|
3
|
+
import { CameraData } from "./CameraData";
|
|
4
|
+
import { CullingService } from "./CullingService";
|
|
5
|
+
export declare class RenderManager {
|
|
6
|
+
private renderer;
|
|
7
|
+
private cullingService;
|
|
8
|
+
private canvasColor;
|
|
9
|
+
private debug;
|
|
10
|
+
private renderData;
|
|
11
|
+
private cameraData;
|
|
12
|
+
constructor(gameRenderer: ContextRenderer, cullingService: CullingService, canvasColor: string, debug?: boolean);
|
|
13
|
+
clearCanvas(): void;
|
|
14
|
+
addRenderData(renderData: RenderData): void;
|
|
15
|
+
addCameraData(cameraData: CameraData): void;
|
|
16
|
+
render(): void;
|
|
17
|
+
clearData(): void;
|
|
18
|
+
private renderByCamera;
|
|
19
|
+
private orderRendeData;
|
|
20
|
+
private updateFromCameraViewport;
|
|
21
|
+
private setPositionInViewport;
|
|
22
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { CameraData } from "../CameraData";
|
|
2
|
+
import { ContextRenderer } from "../ContextRenderer";
|
|
3
|
+
import { RenderData } from "../renderData/RenderData";
|
|
4
|
+
export declare class Context2DRenderer implements ContextRenderer {
|
|
5
|
+
private canvas;
|
|
6
|
+
private canvasContext;
|
|
7
|
+
private imagePosition;
|
|
8
|
+
constructor(canvas: HTMLCanvasElement);
|
|
9
|
+
clearCanvas(color?: string | null): void;
|
|
10
|
+
render(camera: CameraData, renderData: RenderData): void;
|
|
11
|
+
private renderImage;
|
|
12
|
+
private renderTilemap;
|
|
13
|
+
private renderText;
|
|
14
|
+
private renderGeometric;
|
|
15
|
+
private renderCollider;
|
|
16
|
+
private applyZoom;
|
|
17
|
+
private updateRenderPosition;
|
|
18
|
+
private centerImage;
|
|
19
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Rectangle } from "../../math/Rectangle";
|
|
2
|
+
import { RenderData, RenderDataType } from "./RenderData";
|
|
3
|
+
declare type Geometric = Rectangle;
|
|
4
|
+
declare type GeometricType = "Rectangle";
|
|
5
|
+
export declare class GeometricRenderData extends RenderData {
|
|
6
|
+
type: RenderDataType;
|
|
7
|
+
color: string;
|
|
8
|
+
geometricType: GeometricType;
|
|
9
|
+
geometric: Geometric;
|
|
10
|
+
getGeometric<T extends Geometric>(): T;
|
|
11
|
+
}
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { RenderData, RenderDataType } from "./RenderData";
|
|
2
|
+
export interface Slice {
|
|
3
|
+
x: number;
|
|
4
|
+
y: number;
|
|
5
|
+
width: number;
|
|
6
|
+
height: number;
|
|
7
|
+
}
|
|
8
|
+
export declare class ImageRenderData extends RenderData {
|
|
9
|
+
type: RenderDataType;
|
|
10
|
+
image: HTMLImageElement;
|
|
11
|
+
width: number;
|
|
12
|
+
height: number;
|
|
13
|
+
slice: Slice;
|
|
14
|
+
flipHorizontal: boolean;
|
|
15
|
+
flipVertical: boolean;
|
|
16
|
+
rotation: number;
|
|
17
|
+
smooth: boolean;
|
|
18
|
+
alpha: number;
|
|
19
|
+
maskColor: string;
|
|
20
|
+
maskColorMix: number;
|
|
21
|
+
tintColor: string;
|
|
22
|
+
}
|