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.
Files changed (131) hide show
  1. package/lib/component/Animation.d.ts +12 -0
  2. package/lib/component/Animator.d.ts +18 -0
  3. package/lib/component/AudioPlayer.d.ts +24 -0
  4. package/lib/component/Camera.d.ts +30 -0
  5. package/lib/component/ComponentTypes.d.ts +15 -0
  6. package/lib/component/RigidBody.d.ts +22 -0
  7. package/lib/component/RigidBodyOld.d.ts +39 -0
  8. package/lib/component/Sprite.d.ts +31 -0
  9. package/lib/component/Transform.d.ts +32 -0
  10. package/lib/component/collider/BoxCollider.d.ts +34 -0
  11. package/lib/component/collider/Collider.d.ts +22 -0
  12. package/lib/component/collider/PolygonCollider.d.ts +32 -0
  13. package/lib/component/collider/TilemapCollider.d.ts +16 -0
  14. package/lib/component/colliderComponent/AbstractColliderComponent.d.ts +27 -0
  15. package/lib/component/colliderComponent/BoxCollider.d.ts +34 -0
  16. package/lib/component/colliderComponent/PolygonCollider.d.ts +32 -0
  17. package/lib/component/colliderComponent/TilemapCollider.d.ts +17 -0
  18. package/lib/component/colliderComponent/TriangleCollider.d.ts +32 -0
  19. package/lib/component/rendering/MaskRenderer.d.ts +29 -0
  20. package/lib/component/rendering/SpriteRenderer.d.ts +46 -0
  21. package/lib/component/rendering/TextRenderer.d.ts +49 -0
  22. package/lib/component/rendering/tilemap/CsvTilemapRenderer.d.ts +13 -0
  23. package/lib/component/rendering/tilemap/Tile.d.ts +7 -0
  24. package/lib/component/rendering/tilemap/TileData.d.ts +10 -0
  25. package/lib/component/rendering/tilemap/TiledTilemapRenderer.d.ts +43 -0
  26. package/lib/component/rendering/tilemap/TilemapRenderer.d.ts +72 -0
  27. package/lib/component/rendering/tilemap/Tileset.d.ts +25 -0
  28. package/lib/component/renderingComponent/MaskRenderer.d.ts +29 -0
  29. package/lib/component/renderingComponent/SpriteRenderer.d.ts +46 -0
  30. package/lib/component/renderingComponent/TextRenderer.d.ts +49 -0
  31. package/lib/component/renderingComponent/tilemap/CsvTilemapRenderer.d.ts +13 -0
  32. package/lib/component/renderingComponent/tilemap/Tile.d.ts +7 -0
  33. package/lib/component/renderingComponent/tilemap/TileData.d.ts +10 -0
  34. package/lib/component/renderingComponent/tilemap/TiledTilemapRenderer.d.ts +43 -0
  35. package/lib/component/renderingComponent/tilemap/TilemapRenderer.d.ts +72 -0
  36. package/lib/component/renderingComponent/tilemap/Tileset.d.ts +25 -0
  37. package/lib/core/Component.d.ts +130 -0
  38. package/lib/core/Game.d.ts +69 -0
  39. package/lib/core/GameObject.d.ts +151 -0
  40. package/lib/core/Scene.d.ts +69 -0
  41. package/lib/core/facades/AssetManagerFacade.d.ts +29 -0
  42. package/lib/core/facades/DomManagerFacade.d.ts +8 -0
  43. package/lib/core/facades/GameObjectManagerFacade.d.ts +54 -0
  44. package/lib/core/facades/InputManagerFacade.d.ts +13 -0
  45. package/lib/core/facades/SceneManagerFacade.d.ts +18 -0
  46. package/lib/core/facades/TimeManagerFacade.d.ts +10 -0
  47. package/lib/core/ioc/Config.d.ts +3 -0
  48. package/lib/core/managers/AssetManager.d.ts +16 -0
  49. package/lib/core/managers/DomManager.d.ts +9 -0
  50. package/lib/core/managers/GameObjectManager.d.ts +17 -0
  51. package/lib/core/managers/IterationManager.d.ts +42 -0
  52. package/lib/core/managers/SceneManager.d.ts +21 -0
  53. package/lib/core/managers/TimeManager.d.ts +20 -0
  54. package/lib/gameObject/GameCamera.d.ts +17 -0
  55. package/lib/gameObject/SpacePointer.d.ts +8 -0
  56. package/lib/index.cjs.js +1 -1
  57. package/lib/index.d.ts +39 -38
  58. package/lib/index.esm.js +1 -1
  59. package/lib/index.js +1 -1
  60. package/lib/input/GamepadController.d.ts +48 -0
  61. package/lib/input/InputManager.d.ts +12 -0
  62. package/lib/input/KeyboardController.d.ts +12 -0
  63. package/lib/input/MouseController.d.ts +21 -0
  64. package/lib/input/TouchController.d.ts +13 -0
  65. package/lib/math/Rectangle.d.ts +50 -0
  66. package/lib/math/Rotation.d.ts +13 -0
  67. package/lib/math/Utils.d.ts +33 -0
  68. package/lib/math/Vector2.d.ts +114 -0
  69. package/lib/physics/PhysicsManager.d.ts +24 -0
  70. package/lib/physics/PhysicsManagerOld2.d.ts +34 -0
  71. package/lib/physics/collision/ColliderData.d.ts +15 -0
  72. package/lib/physics/collision/CollisionData.d.ts +8 -0
  73. package/lib/physics/collision/CollisionManager.d.ts +31 -0
  74. package/lib/physics/collision/CollisionManagerOld.d.ts +27 -0
  75. package/lib/physics/collision/QuadTree.d.ts +37 -0
  76. package/lib/physics/collision/collider/ICollider.d.ts +14 -0
  77. package/lib/physics/collision/collider/RectangleCollider.d.ts +32 -0
  78. package/lib/physics/collision/resolver/AABBResolver.d.ts +12 -0
  79. package/lib/physics/collision/resolver/CollisionResolution.d.ts +6 -0
  80. package/lib/physics/collision/resolver/CollisionResolver.d.ts +5 -0
  81. package/lib/physics/collision/resolver/ICollisionResolver.d.ts +5 -0
  82. package/lib/physics/collision/resolver/SatResolver.d.ts +15 -0
  83. package/lib/physics/collision/shape/Polygon.d.ts +31 -0
  84. package/lib/physics/collision/shape/Rectangle.d.ts +9 -0
  85. package/lib/physics/collision/shape/Shape.d.ts +17 -0
  86. package/lib/physics/collision-old/CollisionData.d.ts +8 -0
  87. package/lib/physics/collision-old/CollisionManager.d.ts +30 -0
  88. package/lib/physics/collision-old/QuadTree.d.ts +32 -0
  89. package/lib/physics/collision-old/collider/ICollider.d.ts +14 -0
  90. package/lib/physics/collision-old/collider/RectangleCollider.d.ts +32 -0
  91. package/lib/physics/collision-old/resolver/AABBResolver.d.ts +14 -0
  92. package/lib/physics/collision-old/resolver/ICollisionResolver.d.ts +5 -0
  93. package/lib/physics/collision-old/resolver/SatResolver.d.ts +14 -0
  94. package/lib/physics/collision-old/shape/Rectangle.d.ts +13 -0
  95. package/lib/physics/collision-old/shape/Shape.d.ts +28 -0
  96. package/lib/physics/rigodBody/RigidBodyData.d.ts +9 -0
  97. package/lib/physics/rigodBody/RigidBodyManager.d.ts +23 -0
  98. package/lib/rendering/CameraData.d.ts +9 -0
  99. package/lib/rendering/ContextRenderer.d.ts +6 -0
  100. package/lib/rendering/CullingService.d.ts +10 -0
  101. package/lib/rendering/FontAtlasFactory.d.ts +24 -0
  102. package/lib/rendering/RenderManager.d.ts +22 -0
  103. package/lib/rendering/context2D/Context2DRenderer.d.ts +18 -0
  104. package/lib/rendering/renderData/ColliderRenderData.d.ts +7 -0
  105. package/lib/rendering/renderData/GeometricRenderData.d.ts +12 -0
  106. package/lib/rendering/renderData/ImageRenderData.d.ts +22 -0
  107. package/lib/rendering/renderData/MaskRenderData.d.ts +9 -0
  108. package/lib/rendering/renderData/RenderData.d.ts +22 -0
  109. package/lib/rendering/renderData/TextRenderData.d.ts +22 -0
  110. package/lib/rendering/renderData/TilemapRenderData.d.ts +22 -0
  111. package/lib/rendering/webGL/ProgramFactory.d.ts +7 -0
  112. package/lib/rendering/webGL/ProgramManager.d.ts +26 -0
  113. package/lib/rendering/webGL/ShaderLoader.d.ts +3 -0
  114. package/lib/rendering/webGL/TextureFactory.d.ts +8 -0
  115. package/lib/rendering/webGL/TextureManager.d.ts +11 -0
  116. package/lib/rendering/webGL/Utils.d.ts +7 -0
  117. package/lib/rendering/webGL/WebGLRenderer.d.ts +36 -0
  118. package/lib/rendering/webGL/renderer/GeometricRenderer.d.ts +20 -0
  119. package/lib/rendering/webGL/renderer/ImageRenderer.d.ts +16 -0
  120. package/lib/rendering/webGL/renderer/MaskRenderer.d.ts +14 -0
  121. package/lib/rendering/webGL/renderer/TextRenderer.d.ts +21 -0
  122. package/lib/rendering/webGL/renderer/TilemapRenderer.d.ts +19 -0
  123. package/lib/rendering/webGL/shader/imageFragmentShader.d.ts +1 -0
  124. package/lib/rendering/webGL/shader/imageVertexShader.d.ts +1 -0
  125. package/lib/rendering/webGL/shader/legacy/imageFragmentShader.d.ts +1 -0
  126. package/lib/rendering/webGL/shader/legacy/imageVertexShader.d.ts +1 -0
  127. package/lib/utils/Container.d.ts +12 -0
  128. package/lib/utils/Exception.d.ts +4 -0
  129. package/lib/utils/UUID.d.ts +1 -0
  130. package/package.json +1 -1
  131. 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,7 @@
1
+ export declare class Tile {
2
+ x: number;
3
+ y: number;
4
+ width: number;
5
+ height: number;
6
+ constructor(x: number, y: number, width: number, height: number);
7
+ }
@@ -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
+ }