angry-pixel 1.0.7 → 1.1.0
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/component/Animation.d.ts +12 -0
- package/lib/component/Animator.d.ts +18 -0
- package/lib/component/AudioPlayer.d.ts +24 -0
- package/lib/component/Camera.d.ts +30 -0
- package/lib/component/ComponentTypes.d.ts +15 -0
- package/lib/component/RigidBody.d.ts +22 -0
- package/lib/component/RigidBodyOld.d.ts +39 -0
- package/lib/component/Sprite.d.ts +31 -0
- package/lib/component/Transform.d.ts +32 -0
- package/lib/component/collider/BoxCollider.d.ts +34 -0
- package/lib/component/collider/Collider.d.ts +22 -0
- package/lib/component/collider/PolygonCollider.d.ts +32 -0
- package/lib/component/collider/TilemapCollider.d.ts +16 -0
- package/lib/component/colliderComponent/AbstractColliderComponent.d.ts +27 -0
- package/lib/component/colliderComponent/BoxCollider.d.ts +34 -0
- package/lib/component/colliderComponent/PolygonCollider.d.ts +32 -0
- package/lib/component/colliderComponent/TilemapCollider.d.ts +17 -0
- package/lib/component/colliderComponent/TriangleCollider.d.ts +32 -0
- package/lib/component/rendering/MaskRenderer.d.ts +29 -0
- package/lib/component/rendering/SpriteRenderer.d.ts +46 -0
- package/lib/component/rendering/TextRenderer.d.ts +49 -0
- package/lib/component/rendering/tilemap/CsvTilemapRenderer.d.ts +13 -0
- package/lib/component/rendering/tilemap/Tile.d.ts +7 -0
- package/lib/component/rendering/tilemap/TileData.d.ts +10 -0
- package/lib/component/rendering/tilemap/TiledTilemapRenderer.d.ts +43 -0
- package/lib/component/rendering/tilemap/TilemapRenderer.d.ts +72 -0
- package/lib/component/rendering/tilemap/Tileset.d.ts +25 -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 +69 -0
- package/lib/core/GameObject.d.ts +151 -0
- package/lib/core/Scene.d.ts +69 -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 +42 -0
- package/lib/core/managers/SceneManager.d.ts +21 -0
- package/lib/core/managers/TimeManager.d.ts +20 -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 -38
- 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 +13 -0
- package/lib/math/Utils.d.ts +33 -0
- package/lib/math/Vector2.d.ts +114 -0
- package/lib/physics/PhysicsManager.d.ts +24 -0
- package/lib/physics/PhysicsManagerOld2.d.ts +34 -0
- package/lib/physics/collision/ColliderData.d.ts +15 -0
- package/lib/physics/collision/CollisionData.d.ts +8 -0
- package/lib/physics/collision/CollisionManager.d.ts +31 -0
- package/lib/physics/collision/CollisionManagerOld.d.ts +27 -0
- package/lib/physics/collision/QuadTree.d.ts +37 -0
- package/lib/physics/collision/collider/ICollider.d.ts +14 -0
- package/lib/physics/collision/collider/RectangleCollider.d.ts +32 -0
- package/lib/physics/collision/resolver/AABBResolver.d.ts +12 -0
- package/lib/physics/collision/resolver/CollisionResolution.d.ts +6 -0
- package/lib/physics/collision/resolver/CollisionResolver.d.ts +5 -0
- package/lib/physics/collision/resolver/ICollisionResolver.d.ts +5 -0
- package/lib/physics/collision/resolver/SatResolver.d.ts +15 -0
- package/lib/physics/collision/shape/Polygon.d.ts +31 -0
- package/lib/physics/collision/shape/Rectangle.d.ts +9 -0
- package/lib/physics/collision/shape/Shape.d.ts +17 -0
- package/lib/physics/collision-old/CollisionData.d.ts +8 -0
- package/lib/physics/collision-old/CollisionManager.d.ts +30 -0
- package/lib/physics/collision-old/QuadTree.d.ts +32 -0
- package/lib/physics/collision-old/collider/ICollider.d.ts +14 -0
- package/lib/physics/collision-old/collider/RectangleCollider.d.ts +32 -0
- package/lib/physics/collision-old/resolver/AABBResolver.d.ts +14 -0
- package/lib/physics/collision-old/resolver/ICollisionResolver.d.ts +5 -0
- package/lib/physics/collision-old/resolver/SatResolver.d.ts +14 -0
- package/lib/physics/collision-old/shape/Rectangle.d.ts +13 -0
- package/lib/physics/collision-old/shape/Shape.d.ts +28 -0
- package/lib/physics/rigodBody/RigidBodyData.d.ts +9 -0
- package/lib/physics/rigodBody/RigidBodyManager.d.ts +23 -0
- package/lib/rendering/CameraData.d.ts +9 -0
- package/lib/rendering/ContextRenderer.d.ts +6 -0
- package/lib/rendering/CullingService.d.ts +10 -0
- package/lib/rendering/FontAtlasFactory.d.ts +24 -0
- package/lib/rendering/RenderManager.d.ts +22 -0
- package/lib/rendering/context2D/Context2DRenderer.d.ts +18 -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 +22 -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 +20 -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
- package/angry-pixel-v1.0.7.tgz +0 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { TilemapRenderer, TilemapRendererConfig } from "./TilemapRenderer";
|
|
2
|
+
export interface TiledTilemapConfig extends TilemapRendererConfig {
|
|
3
|
+
tilemapData: TiledTilemap;
|
|
4
|
+
layerName?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare class TiledTilemapRenderer extends TilemapRenderer {
|
|
7
|
+
readonly tiledTilemap: TiledTilemap;
|
|
8
|
+
readonly layerName: string;
|
|
9
|
+
constructor(config: TiledTilemapConfig);
|
|
10
|
+
protected processTilemap(): void;
|
|
11
|
+
private processChunk;
|
|
12
|
+
}
|
|
13
|
+
export interface TiledTilemap {
|
|
14
|
+
width: number;
|
|
15
|
+
height: number;
|
|
16
|
+
infinite: boolean;
|
|
17
|
+
layers: TiledLayer[];
|
|
18
|
+
renderorder: string;
|
|
19
|
+
}
|
|
20
|
+
export interface TiledChunk {
|
|
21
|
+
data: number[];
|
|
22
|
+
x: number;
|
|
23
|
+
y: number;
|
|
24
|
+
width: number;
|
|
25
|
+
height: number;
|
|
26
|
+
}
|
|
27
|
+
export interface TiledLayer {
|
|
28
|
+
name: string;
|
|
29
|
+
id: number;
|
|
30
|
+
chunks?: TiledChunk[];
|
|
31
|
+
data?: number[];
|
|
32
|
+
x: number;
|
|
33
|
+
y: number;
|
|
34
|
+
width: number;
|
|
35
|
+
height: number;
|
|
36
|
+
opacity: number;
|
|
37
|
+
visible: boolean;
|
|
38
|
+
startx?: number;
|
|
39
|
+
starty?: number;
|
|
40
|
+
offsetx?: number;
|
|
41
|
+
offsety?: number;
|
|
42
|
+
tintcolor?: string;
|
|
43
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { RenderComponent } from "../../../core/Component";
|
|
2
|
+
import { RenderManager } from "../../../rendering/RenderManager";
|
|
3
|
+
import { Vector2 } from "../../../math/Vector2";
|
|
4
|
+
import { Tileset } from "./Tileset";
|
|
5
|
+
import { TileData } from "./TileData";
|
|
6
|
+
import { Tile } from "./Tile";
|
|
7
|
+
import { TilemapRenderData, TileRenderData } from "../../../rendering/renderData/TilemapRenderData";
|
|
8
|
+
export declare type Flip = {
|
|
9
|
+
h: boolean;
|
|
10
|
+
v: boolean;
|
|
11
|
+
};
|
|
12
|
+
export declare type Offset = {
|
|
13
|
+
x: number;
|
|
14
|
+
y: number;
|
|
15
|
+
};
|
|
16
|
+
export declare type RenderOrder = "center" | "right-down" | "right-up" | "left-down" | "left-right";
|
|
17
|
+
export declare type LayerToProcess = {
|
|
18
|
+
layer: string;
|
|
19
|
+
alpha: number;
|
|
20
|
+
tintColor: string;
|
|
21
|
+
};
|
|
22
|
+
export declare type TileToProcess = {
|
|
23
|
+
layer: string;
|
|
24
|
+
tile: Tile;
|
|
25
|
+
col: number;
|
|
26
|
+
row: number;
|
|
27
|
+
flip: Flip;
|
|
28
|
+
offset: Offset;
|
|
29
|
+
};
|
|
30
|
+
export interface TilemapRendererConfig {
|
|
31
|
+
tileset: Tileset;
|
|
32
|
+
renderOrder?: RenderOrder;
|
|
33
|
+
smooth?: boolean;
|
|
34
|
+
textureCorrection?: number;
|
|
35
|
+
tileScale?: Vector2;
|
|
36
|
+
}
|
|
37
|
+
export declare abstract class TilemapRenderer extends RenderComponent {
|
|
38
|
+
readonly tileset: Tileset;
|
|
39
|
+
readonly renderOrder: RenderOrder;
|
|
40
|
+
readonly smooth: boolean;
|
|
41
|
+
readonly textureCorrection: number;
|
|
42
|
+
readonly tileScale: Vector2;
|
|
43
|
+
protected tileWidth: number;
|
|
44
|
+
protected tileHeight: number;
|
|
45
|
+
protected orientation: Vector2;
|
|
46
|
+
protected renderManager: RenderManager;
|
|
47
|
+
protected tilemapProcessed: boolean;
|
|
48
|
+
protected renderData: Map<string, TilemapRenderData>;
|
|
49
|
+
private cols;
|
|
50
|
+
private rows;
|
|
51
|
+
protected _width: number;
|
|
52
|
+
protected _height: number;
|
|
53
|
+
protected tiles: TileData[];
|
|
54
|
+
protected _realWidth: number;
|
|
55
|
+
protected _realHeight: number;
|
|
56
|
+
private cacheV2;
|
|
57
|
+
constructor(config: TilemapRendererConfig);
|
|
58
|
+
protected start(): void;
|
|
59
|
+
protected update(): void;
|
|
60
|
+
protected abstract processTilemap(): void;
|
|
61
|
+
protected processLayer(data: LayerToProcess): void;
|
|
62
|
+
protected processTile(data: TileToProcess): void;
|
|
63
|
+
private addTileToRenderData;
|
|
64
|
+
private updateSizeInfo;
|
|
65
|
+
private updatePosition;
|
|
66
|
+
protected addTileData(tileRenderData: TileRenderData): void;
|
|
67
|
+
get width(): number;
|
|
68
|
+
get height(): number;
|
|
69
|
+
get realWidth(): number;
|
|
70
|
+
get realHeight(): number;
|
|
71
|
+
get tilesData(): TileData[];
|
|
72
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Vector2 } from "../../../math/Vector2";
|
|
2
|
+
import { Tile } from "./Tile";
|
|
3
|
+
export interface TilesetConfig {
|
|
4
|
+
image: HTMLImageElement;
|
|
5
|
+
tileWidth: number;
|
|
6
|
+
tileHeight: number;
|
|
7
|
+
gridWidth: number;
|
|
8
|
+
gridHeight: number;
|
|
9
|
+
offset?: Vector2;
|
|
10
|
+
spacing?: Vector2;
|
|
11
|
+
}
|
|
12
|
+
export declare class Tileset {
|
|
13
|
+
image: HTMLImageElement;
|
|
14
|
+
tileWidth: number;
|
|
15
|
+
tileHeight: number;
|
|
16
|
+
gridWidth: number;
|
|
17
|
+
gridHeight: number;
|
|
18
|
+
offset: Vector2;
|
|
19
|
+
tileSpacing: Vector2;
|
|
20
|
+
private _tiles;
|
|
21
|
+
constructor(config: TilesetConfig);
|
|
22
|
+
private generateTiles;
|
|
23
|
+
getTile(index: number): Tile | null;
|
|
24
|
+
get tiles(): Tile[];
|
|
25
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { RenderComponent } from "../../core/Component";
|
|
2
|
+
import { Rotation } from "../../math/Rotation";
|
|
3
|
+
import { Vector2 } from "../../math/Vector2";
|
|
4
|
+
export interface MaskRendererConfig {
|
|
5
|
+
width: number;
|
|
6
|
+
height: number;
|
|
7
|
+
color: string;
|
|
8
|
+
offset?: Vector2;
|
|
9
|
+
rotation?: Rotation;
|
|
10
|
+
opacity?: number;
|
|
11
|
+
layer?: string;
|
|
12
|
+
}
|
|
13
|
+
export declare class MaskRenderer extends RenderComponent {
|
|
14
|
+
private renderManager;
|
|
15
|
+
width: number;
|
|
16
|
+
height: number;
|
|
17
|
+
color: string;
|
|
18
|
+
offset: Vector2;
|
|
19
|
+
rotation: Rotation;
|
|
20
|
+
opacity: number;
|
|
21
|
+
layer: string;
|
|
22
|
+
private renderData;
|
|
23
|
+
private innerPosition;
|
|
24
|
+
private scaledOffset;
|
|
25
|
+
constructor(config: MaskRendererConfig);
|
|
26
|
+
protected update(): void;
|
|
27
|
+
private calculateRenderPosition;
|
|
28
|
+
private translateRenderPosition;
|
|
29
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { RenderComponent } from "../../core/Component";
|
|
2
|
+
import { Rotation } from "../../math/Rotation";
|
|
3
|
+
import { Vector2 } from "../../math/Vector2";
|
|
4
|
+
import { Sprite } from "../Sprite";
|
|
5
|
+
export interface SpriteRendererConfig {
|
|
6
|
+
sprite?: Sprite;
|
|
7
|
+
offset?: Vector2;
|
|
8
|
+
smooth?: boolean;
|
|
9
|
+
rotation?: Rotation;
|
|
10
|
+
flipHorizontal?: boolean;
|
|
11
|
+
flipVertical?: boolean;
|
|
12
|
+
opacity?: number;
|
|
13
|
+
tiled?: Vector2;
|
|
14
|
+
maskColor?: string;
|
|
15
|
+
maskColorMix?: number;
|
|
16
|
+
tintColor?: string;
|
|
17
|
+
layer?: string;
|
|
18
|
+
}
|
|
19
|
+
export declare class SpriteRenderer extends RenderComponent {
|
|
20
|
+
private renderManager;
|
|
21
|
+
sprite: Sprite;
|
|
22
|
+
offset: Vector2;
|
|
23
|
+
flipHorizontal: boolean;
|
|
24
|
+
flipVertical: boolean;
|
|
25
|
+
rotation: Rotation;
|
|
26
|
+
smooth: boolean;
|
|
27
|
+
opacity: number;
|
|
28
|
+
private _tiled;
|
|
29
|
+
maskColor: string;
|
|
30
|
+
maskColorMix: number;
|
|
31
|
+
tintColor: string;
|
|
32
|
+
layer: string;
|
|
33
|
+
private renderData;
|
|
34
|
+
private innerPosition;
|
|
35
|
+
private cachePosition;
|
|
36
|
+
private cacheRenderPosition;
|
|
37
|
+
private scaledOffset;
|
|
38
|
+
constructor(config?: SpriteRendererConfig);
|
|
39
|
+
get tiled(): Vector2;
|
|
40
|
+
set tiled(tiled: Vector2);
|
|
41
|
+
protected update(): void;
|
|
42
|
+
private updateRenderDataArray;
|
|
43
|
+
private updateRenderData;
|
|
44
|
+
private calculateRenderPosition;
|
|
45
|
+
private translateRenderPosition;
|
|
46
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { RenderComponent } from "../../core/Component";
|
|
2
|
+
import { Orientation } from "../../rendering/renderData/TextRenderData";
|
|
3
|
+
import { Rotation } from "../../math/Rotation";
|
|
4
|
+
import { Vector2 } from "../../math/Vector2";
|
|
5
|
+
export interface TextRendererConfig {
|
|
6
|
+
text: string;
|
|
7
|
+
fontFamily: string;
|
|
8
|
+
fontUrl?: string;
|
|
9
|
+
fontSize?: number;
|
|
10
|
+
color?: string;
|
|
11
|
+
lineSeparation?: number;
|
|
12
|
+
letterSpacing?: number;
|
|
13
|
+
width?: number;
|
|
14
|
+
height?: number;
|
|
15
|
+
offset?: Vector2;
|
|
16
|
+
smooth?: boolean;
|
|
17
|
+
charRanges?: number[];
|
|
18
|
+
bitmapSize?: number;
|
|
19
|
+
bitmapOffset?: Vector2;
|
|
20
|
+
rotation?: Rotation;
|
|
21
|
+
opacity?: number;
|
|
22
|
+
orientation?: Orientation;
|
|
23
|
+
}
|
|
24
|
+
export declare class TextRenderer extends RenderComponent {
|
|
25
|
+
text: string;
|
|
26
|
+
fontFamily: string;
|
|
27
|
+
fontUrl: string;
|
|
28
|
+
fontSize: number;
|
|
29
|
+
width: number;
|
|
30
|
+
height: number;
|
|
31
|
+
offset: Vector2;
|
|
32
|
+
color: string;
|
|
33
|
+
lineSeparation: number;
|
|
34
|
+
letterSpacing: number;
|
|
35
|
+
bitmapSize: number;
|
|
36
|
+
charRanges: number[];
|
|
37
|
+
smooth: boolean;
|
|
38
|
+
bitmapOffset: Vector2;
|
|
39
|
+
rotation: Rotation;
|
|
40
|
+
opacity: number;
|
|
41
|
+
orientation: Orientation;
|
|
42
|
+
private renderManager;
|
|
43
|
+
private renderData;
|
|
44
|
+
private lastFrameText;
|
|
45
|
+
constructor(config: TextRendererConfig);
|
|
46
|
+
protected start(): void;
|
|
47
|
+
protected update(): void;
|
|
48
|
+
private crop;
|
|
49
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { TilemapRenderer, TilemapRendererConfig } from "./TilemapRenderer";
|
|
2
|
+
export interface CsvTilemapConfig extends TilemapRendererConfig {
|
|
3
|
+
tilemapData: string;
|
|
4
|
+
alpha?: number;
|
|
5
|
+
tintColor?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare class CsvTilemapRenderer extends TilemapRenderer {
|
|
8
|
+
readonly tilemapData: string;
|
|
9
|
+
readonly alpha: number;
|
|
10
|
+
readonly tintColor: string;
|
|
11
|
+
constructor(config: CsvTilemapConfig);
|
|
12
|
+
protected processTilemap(): void;
|
|
13
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Vector2 } from "../../../math/Vector2";
|
|
2
|
+
export declare class TileData {
|
|
3
|
+
private _position;
|
|
4
|
+
private _width;
|
|
5
|
+
private _height;
|
|
6
|
+
constructor(position: Vector2, width: number, height: number);
|
|
7
|
+
get position(): Vector2;
|
|
8
|
+
get width(): number;
|
|
9
|
+
get height(): number;
|
|
10
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { TilemapRenderer, TilemapRendererConfig } from "./TilemapRenderer";
|
|
2
|
+
export interface TiledTilemapConfig extends TilemapRendererConfig {
|
|
3
|
+
tilemapData: TiledTilemap;
|
|
4
|
+
layerName?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare class TiledTilemapRenderer extends TilemapRenderer {
|
|
7
|
+
readonly tiledTilemap: TiledTilemap;
|
|
8
|
+
readonly layerName: string;
|
|
9
|
+
constructor(config: TiledTilemapConfig);
|
|
10
|
+
protected processTilemap(): void;
|
|
11
|
+
private processChunk;
|
|
12
|
+
}
|
|
13
|
+
export interface TiledTilemap {
|
|
14
|
+
width: number;
|
|
15
|
+
height: number;
|
|
16
|
+
infinite: boolean;
|
|
17
|
+
layers: TiledLayer[];
|
|
18
|
+
renderorder: string;
|
|
19
|
+
}
|
|
20
|
+
export interface TiledChunk {
|
|
21
|
+
data: number[];
|
|
22
|
+
x: number;
|
|
23
|
+
y: number;
|
|
24
|
+
width: number;
|
|
25
|
+
height: number;
|
|
26
|
+
}
|
|
27
|
+
export interface TiledLayer {
|
|
28
|
+
name: string;
|
|
29
|
+
id: number;
|
|
30
|
+
chunks?: TiledChunk[];
|
|
31
|
+
data?: number[];
|
|
32
|
+
x: number;
|
|
33
|
+
y: number;
|
|
34
|
+
width: number;
|
|
35
|
+
height: number;
|
|
36
|
+
opacity: number;
|
|
37
|
+
visible: boolean;
|
|
38
|
+
startx?: number;
|
|
39
|
+
starty?: number;
|
|
40
|
+
offsetx?: number;
|
|
41
|
+
offsety?: number;
|
|
42
|
+
tintcolor?: string;
|
|
43
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { RenderComponent } from "../../../core/Component";
|
|
2
|
+
import { RenderManager } from "../../../rendering/RenderManager";
|
|
3
|
+
import { Vector2 } from "../../../math/Vector2";
|
|
4
|
+
import { Tileset } from "./Tileset";
|
|
5
|
+
import { TileData } from "./TileData";
|
|
6
|
+
import { Tile } from "./Tile";
|
|
7
|
+
import { TilemapRenderData, TileRenderData } from "../../../rendering/renderData/TilemapRenderData";
|
|
8
|
+
export declare type Flip = {
|
|
9
|
+
h: boolean;
|
|
10
|
+
v: boolean;
|
|
11
|
+
};
|
|
12
|
+
export declare type Offset = {
|
|
13
|
+
x: number;
|
|
14
|
+
y: number;
|
|
15
|
+
};
|
|
16
|
+
export declare type RenderOrder = "center" | "right-down" | "right-up" | "left-down" | "left-right";
|
|
17
|
+
export declare type LayerToProcess = {
|
|
18
|
+
layer: string;
|
|
19
|
+
alpha: number;
|
|
20
|
+
tintColor: string;
|
|
21
|
+
};
|
|
22
|
+
export declare type TileToProcess = {
|
|
23
|
+
layer: string;
|
|
24
|
+
tile: Tile;
|
|
25
|
+
col: number;
|
|
26
|
+
row: number;
|
|
27
|
+
flip: Flip;
|
|
28
|
+
offset: Offset;
|
|
29
|
+
};
|
|
30
|
+
export interface TilemapRendererConfig {
|
|
31
|
+
tileset: Tileset;
|
|
32
|
+
renderOrder?: RenderOrder;
|
|
33
|
+
smooth?: boolean;
|
|
34
|
+
textureCorrection?: number;
|
|
35
|
+
tileScale?: Vector2;
|
|
36
|
+
}
|
|
37
|
+
export declare abstract class TilemapRenderer extends RenderComponent {
|
|
38
|
+
readonly tileset: Tileset;
|
|
39
|
+
readonly renderOrder: RenderOrder;
|
|
40
|
+
readonly smooth: boolean;
|
|
41
|
+
readonly textureCorrection: number;
|
|
42
|
+
readonly tileScale: Vector2;
|
|
43
|
+
protected tileWidth: number;
|
|
44
|
+
protected tileHeight: number;
|
|
45
|
+
protected orientation: Vector2;
|
|
46
|
+
protected renderManager: RenderManager;
|
|
47
|
+
protected tilemapProcessed: boolean;
|
|
48
|
+
protected renderData: Map<string, TilemapRenderData>;
|
|
49
|
+
private cols;
|
|
50
|
+
private rows;
|
|
51
|
+
protected _width: number;
|
|
52
|
+
protected _height: number;
|
|
53
|
+
protected tiles: TileData[];
|
|
54
|
+
protected _realWidth: number;
|
|
55
|
+
protected _realHeight: number;
|
|
56
|
+
private cacheV2;
|
|
57
|
+
constructor(config: TilemapRendererConfig);
|
|
58
|
+
protected start(): void;
|
|
59
|
+
protected update(): void;
|
|
60
|
+
protected abstract processTilemap(): void;
|
|
61
|
+
protected processLayer(data: LayerToProcess): void;
|
|
62
|
+
protected processTile(data: TileToProcess): void;
|
|
63
|
+
private addTileToRenderData;
|
|
64
|
+
private updateSizeInfo;
|
|
65
|
+
private updatePosition;
|
|
66
|
+
protected addTileData(tileRenderData: TileRenderData): void;
|
|
67
|
+
get width(): number;
|
|
68
|
+
get height(): number;
|
|
69
|
+
get realWidth(): number;
|
|
70
|
+
get realHeight(): number;
|
|
71
|
+
get tilesData(): TileData[];
|
|
72
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Vector2 } from "../../../math/Vector2";
|
|
2
|
+
import { Tile } from "./Tile";
|
|
3
|
+
export interface TilesetConfig {
|
|
4
|
+
image: HTMLImageElement;
|
|
5
|
+
tileWidth: number;
|
|
6
|
+
tileHeight: number;
|
|
7
|
+
gridWidth: number;
|
|
8
|
+
gridHeight: number;
|
|
9
|
+
offset?: Vector2;
|
|
10
|
+
spacing?: Vector2;
|
|
11
|
+
}
|
|
12
|
+
export declare class Tileset {
|
|
13
|
+
image: HTMLImageElement;
|
|
14
|
+
tileWidth: number;
|
|
15
|
+
tileHeight: number;
|
|
16
|
+
gridWidth: number;
|
|
17
|
+
gridHeight: number;
|
|
18
|
+
offset: Vector2;
|
|
19
|
+
tileSpacing: Vector2;
|
|
20
|
+
private _tiles;
|
|
21
|
+
constructor(config: TilesetConfig);
|
|
22
|
+
private generateTiles;
|
|
23
|
+
getTile(index: number): Tile | null;
|
|
24
|
+
get tiles(): Tile[];
|
|
25
|
+
}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { GameObjectFactory, GameObjectManager } from "./managers/GameObjectManager";
|
|
2
|
+
import { GameObject } from "./GameObject";
|
|
3
|
+
import { Scene } from "./Scene";
|
|
4
|
+
import { FrameEvent } from "./managers/IterationManager";
|
|
5
|
+
export declare abstract class Component {
|
|
6
|
+
private sceneManager;
|
|
7
|
+
protected gameObjectManager: GameObjectManager;
|
|
8
|
+
readonly id: string;
|
|
9
|
+
type: string;
|
|
10
|
+
name: string;
|
|
11
|
+
gameObject: GameObject;
|
|
12
|
+
allowMultiple: boolean;
|
|
13
|
+
private _active;
|
|
14
|
+
private started;
|
|
15
|
+
protected get updateEvent(): FrameEvent;
|
|
16
|
+
get active(): boolean;
|
|
17
|
+
setActive(active: boolean): void;
|
|
18
|
+
dispatch(event: FrameEvent): void;
|
|
19
|
+
/**
|
|
20
|
+
* This method is called only once.
|
|
21
|
+
* Recommended for GameObject cration.
|
|
22
|
+
*/
|
|
23
|
+
protected init(): void;
|
|
24
|
+
/**
|
|
25
|
+
* This method is called only once.
|
|
26
|
+
*/
|
|
27
|
+
protected start(): void;
|
|
28
|
+
/**
|
|
29
|
+
* This method is called on every frame.
|
|
30
|
+
*/
|
|
31
|
+
protected update(): void;
|
|
32
|
+
/**
|
|
33
|
+
* This method is called before the component is destroyed.
|
|
34
|
+
*/
|
|
35
|
+
protected destroy(): void;
|
|
36
|
+
/**
|
|
37
|
+
* This method is called when the active state changes.
|
|
38
|
+
*/
|
|
39
|
+
protected activeStateChange(): void;
|
|
40
|
+
/**
|
|
41
|
+
* @returns The current loaded scene
|
|
42
|
+
*/
|
|
43
|
+
protected getCurrentScene<T extends Scene>(): T;
|
|
44
|
+
/**
|
|
45
|
+
* @param gameObjectFactory The factory function for the game object
|
|
46
|
+
* @param name The name of the game object, this must not be used by another game object
|
|
47
|
+
* @returns The added game object
|
|
48
|
+
*/
|
|
49
|
+
protected addGameObject<T extends GameObject>(gameObjectFactory: GameObjectFactory, name: string): T;
|
|
50
|
+
/**
|
|
51
|
+
* @param name The name of the component to find
|
|
52
|
+
* @returns The found component
|
|
53
|
+
*/
|
|
54
|
+
protected getComponentByName<T extends Component>(name: string): T;
|
|
55
|
+
/**
|
|
56
|
+
* @param type The type of the component to find
|
|
57
|
+
* @returns The found component
|
|
58
|
+
*/
|
|
59
|
+
protected getComponentByType<T extends Component>(type: string): T;
|
|
60
|
+
/**
|
|
61
|
+
* @param type The type of the components to find
|
|
62
|
+
* @returns The found components
|
|
63
|
+
*/
|
|
64
|
+
protected getComponentsByType<T extends Component>(type: string): T[];
|
|
65
|
+
/**
|
|
66
|
+
* @param name The name of the game object to find
|
|
67
|
+
* @returns The found game object
|
|
68
|
+
*/
|
|
69
|
+
protected findGameObjectByName<T extends GameObject>(name: string): T;
|
|
70
|
+
/**
|
|
71
|
+
* @param tag The tag of the game objects to find
|
|
72
|
+
* @returns The found game objects
|
|
73
|
+
*/
|
|
74
|
+
protected findGameObjectsByTag(tag: string): GameObject[];
|
|
75
|
+
/**
|
|
76
|
+
* @param tag The tag of the game object to find
|
|
77
|
+
* @returns The found game object
|
|
78
|
+
*/
|
|
79
|
+
protected findGameObjectByTag<T extends GameObject>(tag: string): T;
|
|
80
|
+
/**
|
|
81
|
+
* Destroy one game objects by its name
|
|
82
|
+
* @param name The name of the game object
|
|
83
|
+
*/
|
|
84
|
+
protected destroyGameObjectByName(name: string): void;
|
|
85
|
+
/**
|
|
86
|
+
* Destroy the game objects
|
|
87
|
+
* @param gameObject The game object to destory
|
|
88
|
+
*/
|
|
89
|
+
protected destroyGameObject(gameObject: GameObject): void;
|
|
90
|
+
/**
|
|
91
|
+
* @param name The name of the component to find
|
|
92
|
+
* @returns TRUE or FALSE
|
|
93
|
+
*/
|
|
94
|
+
hasComponentOfName(name: string): boolean;
|
|
95
|
+
/**
|
|
96
|
+
* @param type The type of the component to find
|
|
97
|
+
* @returns TRUE or FALSE
|
|
98
|
+
*/
|
|
99
|
+
hasComponentOfType(type: string): boolean;
|
|
100
|
+
/**
|
|
101
|
+
* @param name The name of the component to remove
|
|
102
|
+
*/
|
|
103
|
+
removeComponentByName(name: string): void;
|
|
104
|
+
/**
|
|
105
|
+
* @param type The tyepe of the component to remove
|
|
106
|
+
*/
|
|
107
|
+
removeComponentByType(type: string): void;
|
|
108
|
+
private _destroy;
|
|
109
|
+
}
|
|
110
|
+
export declare abstract class EngineComponent extends Component {
|
|
111
|
+
protected get updateEvent(): FrameEvent;
|
|
112
|
+
}
|
|
113
|
+
export declare abstract class ColliderComponent extends Component {
|
|
114
|
+
protected get updateEvent(): FrameEvent;
|
|
115
|
+
}
|
|
116
|
+
export declare abstract class PhysicsComponent extends Component {
|
|
117
|
+
protected get updateEvent(): FrameEvent;
|
|
118
|
+
}
|
|
119
|
+
export declare abstract class TransformComponent extends Component {
|
|
120
|
+
protected get updateEvent(): FrameEvent;
|
|
121
|
+
}
|
|
122
|
+
export declare abstract class PreRenderComponent extends Component {
|
|
123
|
+
protected get updateEvent(): FrameEvent;
|
|
124
|
+
}
|
|
125
|
+
export declare abstract class CameraComponent extends Component {
|
|
126
|
+
protected get updateEvent(): FrameEvent;
|
|
127
|
+
}
|
|
128
|
+
export declare abstract class RenderComponent extends Component {
|
|
129
|
+
protected get updateEvent(): FrameEvent;
|
|
130
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { SceneConstructor as SceneFactory } from "../core/managers/SceneManager";
|
|
2
|
+
import { Container } from "../utils/Container";
|
|
3
|
+
import { Rectangle } from "../math/Rectangle";
|
|
4
|
+
import { Vector2 } from "../math/Vector2";
|
|
5
|
+
export declare const container: Container;
|
|
6
|
+
export interface GameConfig {
|
|
7
|
+
containerNode: HTMLElement | null;
|
|
8
|
+
gameWidth?: number;
|
|
9
|
+
gameHeight?: number;
|
|
10
|
+
debugEnabled?: boolean;
|
|
11
|
+
canvasColor?: string;
|
|
12
|
+
physicsFramerate?: number;
|
|
13
|
+
spriteDefaultScale?: Vector2 | null;
|
|
14
|
+
collisions?: {
|
|
15
|
+
method?: CollisionMethodConfig;
|
|
16
|
+
quadTreeBounds?: Rectangle | null;
|
|
17
|
+
quadMaxLevel?: number;
|
|
18
|
+
collidersPerQuad?: number;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export declare enum CollisionMethodConfig {
|
|
22
|
+
AABB = "aabb",
|
|
23
|
+
SAT = "sat"
|
|
24
|
+
}
|
|
25
|
+
export declare class Game {
|
|
26
|
+
private sceneManager;
|
|
27
|
+
private renderManager;
|
|
28
|
+
private iterationManager;
|
|
29
|
+
private _config;
|
|
30
|
+
private _running;
|
|
31
|
+
private _stop;
|
|
32
|
+
private frameRequestId;
|
|
33
|
+
constructor(config: GameConfig);
|
|
34
|
+
private setupManagers;
|
|
35
|
+
/**
|
|
36
|
+
* @returns GameConfig
|
|
37
|
+
*/
|
|
38
|
+
get config(): GameConfig;
|
|
39
|
+
/**
|
|
40
|
+
* @returns running
|
|
41
|
+
*/
|
|
42
|
+
get running(): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Add a scene to the game
|
|
45
|
+
*
|
|
46
|
+
* @param name The name of the scene
|
|
47
|
+
* @param sceneFactory The factory funciton for the escene
|
|
48
|
+
* @param openingScene If this is the opening scene, set TRUE, FALSE instead
|
|
49
|
+
*/
|
|
50
|
+
addScene(name: string, sceneFactory: SceneFactory, openingScene?: boolean): void;
|
|
51
|
+
/**
|
|
52
|
+
* Run the game
|
|
53
|
+
*/
|
|
54
|
+
run(): void;
|
|
55
|
+
/**
|
|
56
|
+
* Stop the game
|
|
57
|
+
*/
|
|
58
|
+
stop(): void;
|
|
59
|
+
private gameLoop;
|
|
60
|
+
/**
|
|
61
|
+
* Pauses the game loop
|
|
62
|
+
*/
|
|
63
|
+
pauseLoop(): void;
|
|
64
|
+
/**
|
|
65
|
+
* Resumes the paused game loop
|
|
66
|
+
*/
|
|
67
|
+
resumeLoop(): void;
|
|
68
|
+
private requestAnimationFrame;
|
|
69
|
+
}
|