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.
Files changed (126) hide show
  1. package/lib/Engine/Component.d.ts +15 -4
  2. package/lib/Engine/Components/Animator.d.ts +0 -1
  3. package/lib/Engine/Components/AudioPlayer.d.ts +0 -1
  4. package/lib/Engine/Components/Camera.d.ts +0 -1
  5. package/lib/Engine/Components/Colliders/BoxCollider.d.ts +0 -1
  6. package/lib/Engine/Components/Colliders/TilemapCollider.d.ts +0 -1
  7. package/lib/Engine/Components/ComponentTypes.d.ts +13 -0
  8. package/lib/Engine/Components/Renderer/CsvTilemapRenderer.d.ts +2 -1
  9. package/lib/Engine/Components/Renderer/SpriteRenderer.d.ts +2 -1
  10. package/lib/Engine/Components/Renderer/TextRenderer.d.ts +8 -1
  11. package/lib/Engine/Components/Renderer/TiledTilemapRenderer.d.ts +1 -1
  12. package/lib/Engine/Components/Renderer/TilemapRenderer.d.ts +16 -3
  13. package/lib/Engine/Components/RigidBody.d.ts +0 -1
  14. package/lib/Engine/Components/Transform.d.ts +0 -1
  15. package/lib/Engine/Core/GameObject/GameObjectManager.d.ts +5 -5
  16. package/lib/Engine/Core/Input/GamepadController.d.ts +1 -1
  17. package/lib/Engine/Core/Rendering/RenderData/ImageRenderData.d.ts +1 -0
  18. package/lib/Engine/Core/Rendering/RenderData/TextRenderData.d.ts +4 -0
  19. package/lib/Engine/Core/Rendering/RenderData/TilemapRenderData.d.ts +1 -0
  20. package/lib/Engine/Core/Rendering/WebGL/ProgramManager.d.ts +7 -3
  21. package/lib/Engine/Core/Rendering/WebGL/Renderer/GeometricRenderer.d.ts +0 -1
  22. package/lib/Engine/Core/Rendering/WebGL/Renderer/ImageRenderer.d.ts +0 -1
  23. package/lib/Engine/Core/Rendering/WebGL/Renderer/TextRenderer.d.ts +2 -1
  24. package/lib/Engine/Core/Rendering/WebGL/Renderer/TilemapRenderer.d.ts +0 -1
  25. package/lib/Engine/Core/Rendering/WebGL/Shader/Legacy/imageFragmentShader.d.ts +1 -1
  26. package/lib/Engine/Core/Rendering/WebGL/Shader/imageFragmentShader.d.ts +1 -1
  27. package/lib/Engine/Core/Rendering/WebGL/Utils.d.ts +3 -2
  28. package/lib/Engine/Facades/GameObjectManagerFacade.d.ts +4 -4
  29. package/lib/Engine/GameObject.d.ts +12 -7
  30. package/lib/Engine/Math/Rotation.d.ts +4 -0
  31. package/lib/Engine/Scene.d.ts +10 -5
  32. package/lib/component/Animation.d.ts +12 -0
  33. package/lib/component/Animator.d.ts +18 -0
  34. package/lib/component/AudioPlayer.d.ts +27 -0
  35. package/lib/component/Camera.d.ts +30 -0
  36. package/lib/component/ComponentTypes.d.ts +14 -0
  37. package/lib/component/RigidBody.d.ts +39 -0
  38. package/lib/component/Sprite.d.ts +31 -0
  39. package/lib/component/Transform.d.ts +32 -0
  40. package/lib/component/colliderComponent/AbstractColliderComponent.d.ts +22 -0
  41. package/lib/component/colliderComponent/BoxCollider.d.ts +32 -0
  42. package/lib/component/colliderComponent/TilemapCollider.d.ts +15 -0
  43. package/lib/component/renderingComponent/MaskRenderer.d.ts +29 -0
  44. package/lib/component/renderingComponent/SpriteRenderer.d.ts +46 -0
  45. package/lib/component/renderingComponent/TextRenderer.d.ts +49 -0
  46. package/lib/component/renderingComponent/tilemap/CsvTilemapRenderer.d.ts +13 -0
  47. package/lib/component/renderingComponent/tilemap/Tile.d.ts +7 -0
  48. package/lib/component/renderingComponent/tilemap/TileData.d.ts +10 -0
  49. package/lib/component/renderingComponent/tilemap/TiledTilemapRenderer.d.ts +43 -0
  50. package/lib/component/renderingComponent/tilemap/TilemapRenderer.d.ts +72 -0
  51. package/lib/component/renderingComponent/tilemap/Tileset.d.ts +25 -0
  52. package/lib/core/Component.d.ts +130 -0
  53. package/lib/core/Game.d.ts +77 -0
  54. package/lib/core/GameObject.d.ts +158 -0
  55. package/lib/core/Scene.d.ts +67 -0
  56. package/lib/core/facades/AssetManagerFacade.d.ts +29 -0
  57. package/lib/core/facades/DomManagerFacade.d.ts +8 -0
  58. package/lib/core/facades/GameObjectManagerFacade.d.ts +54 -0
  59. package/lib/core/facades/InputManagerFacade.d.ts +13 -0
  60. package/lib/core/facades/SceneManagerFacade.d.ts +18 -0
  61. package/lib/core/facades/TimeManagerFacade.d.ts +10 -0
  62. package/lib/core/ioc/Config.d.ts +3 -0
  63. package/lib/core/managers/AssetManager.d.ts +16 -0
  64. package/lib/core/managers/DomManager.d.ts +9 -0
  65. package/lib/core/managers/GameObjectManager.d.ts +17 -0
  66. package/lib/core/managers/IterationManager.d.ts +29 -0
  67. package/lib/core/managers/SceneManager.d.ts +18 -0
  68. package/lib/core/managers/TimeManager.d.ts +18 -0
  69. package/lib/gameObject/GameCamera.d.ts +17 -0
  70. package/lib/gameObject/SpacePointer.d.ts +8 -0
  71. package/lib/index.cjs.js +1 -1
  72. package/lib/index.d.ts +39 -36
  73. package/lib/index.esm.js +1 -1
  74. package/lib/index.js +1 -1
  75. package/lib/input/GamepadController.d.ts +48 -0
  76. package/lib/input/InputManager.d.ts +12 -0
  77. package/lib/input/KeyboardController.d.ts +12 -0
  78. package/lib/input/MouseController.d.ts +21 -0
  79. package/lib/input/TouchController.d.ts +13 -0
  80. package/lib/math/Rectangle.d.ts +50 -0
  81. package/lib/math/Rotation.d.ts +16 -0
  82. package/lib/math/Utils.d.ts +33 -0
  83. package/lib/math/Vector2.d.ts +114 -0
  84. package/lib/physics/collision/CollisionData.d.ts +8 -0
  85. package/lib/physics/collision/CollisionManager.d.ts +27 -0
  86. package/lib/physics/collision/QuadTree.d.ts +32 -0
  87. package/lib/physics/collision/collider/ICollider.d.ts +13 -0
  88. package/lib/physics/collision/collider/RectangleCollider.d.ts +31 -0
  89. package/lib/physics/collision/resolver/AABBResolver.d.ts +14 -0
  90. package/lib/physics/collision/resolver/ICollisionResolver.d.ts +5 -0
  91. package/lib/physics/collision/resolver/SatResolver.d.ts +14 -0
  92. package/lib/physics/collision/shape/Rectangle.d.ts +13 -0
  93. package/lib/physics/collision/shape/Shape.d.ts +28 -0
  94. package/lib/rendering/CameraData.d.ts +9 -0
  95. package/lib/rendering/ContextRenderer.d.ts +6 -0
  96. package/lib/rendering/CullingService.d.ts +11 -0
  97. package/lib/rendering/FontAtlasFactory.d.ts +24 -0
  98. package/lib/rendering/RenderManager.d.ts +22 -0
  99. package/lib/rendering/context2D/Context2DRenderer.d.ts +19 -0
  100. package/lib/rendering/renderData/ColliderRenderData.d.ts +7 -0
  101. package/lib/rendering/renderData/GeometricRenderData.d.ts +12 -0
  102. package/lib/rendering/renderData/ImageRenderData.d.ts +22 -0
  103. package/lib/rendering/renderData/MaskRenderData.d.ts +9 -0
  104. package/lib/rendering/renderData/RenderData.d.ts +23 -0
  105. package/lib/rendering/renderData/TextRenderData.d.ts +22 -0
  106. package/lib/rendering/renderData/TilemapRenderData.d.ts +22 -0
  107. package/lib/rendering/webGL/ProgramFactory.d.ts +7 -0
  108. package/lib/rendering/webGL/ProgramManager.d.ts +26 -0
  109. package/lib/rendering/webGL/ShaderLoader.d.ts +3 -0
  110. package/lib/rendering/webGL/TextureFactory.d.ts +8 -0
  111. package/lib/rendering/webGL/TextureManager.d.ts +11 -0
  112. package/lib/rendering/webGL/Utils.d.ts +7 -0
  113. package/lib/rendering/webGL/WebGLRenderer.d.ts +36 -0
  114. package/lib/rendering/webGL/renderer/GeometricRenderer.d.ts +22 -0
  115. package/lib/rendering/webGL/renderer/ImageRenderer.d.ts +16 -0
  116. package/lib/rendering/webGL/renderer/MaskRenderer.d.ts +14 -0
  117. package/lib/rendering/webGL/renderer/TextRenderer.d.ts +21 -0
  118. package/lib/rendering/webGL/renderer/TilemapRenderer.d.ts +19 -0
  119. package/lib/rendering/webGL/shader/imageFragmentShader.d.ts +1 -0
  120. package/lib/rendering/webGL/shader/imageVertexShader.d.ts +1 -0
  121. package/lib/rendering/webGL/shader/legacy/imageFragmentShader.d.ts +1 -0
  122. package/lib/rendering/webGL/shader/legacy/imageVertexShader.d.ts +1 -0
  123. package/lib/utils/Container.d.ts +12 -0
  124. package/lib/utils/Exception.d.ts +4 -0
  125. package/lib/utils/UUID.d.ts +1 -0
  126. package/package.json +1 -1
@@ -21,7 +21,18 @@ export declare abstract class Component {
21
21
  */
22
22
  setActive(active: boolean): void;
23
23
  protected gameLoopEventHandler: (event: Event) => void;
24
+ /**
25
+ * This method is only ever called once.
26
+ * Recommended for GameObject cration.
27
+ */
28
+ init(): void;
29
+ /**
30
+ * This method is only ever called once
31
+ */
24
32
  protected start(): void;
33
+ /**
34
+ * This method is called on every frame.
35
+ */
25
36
  protected update(): void;
26
37
  /**
27
38
  * @returns The current loaded scene
@@ -37,12 +48,12 @@ export declare abstract class Component {
37
48
  * @param name The name of the component to find
38
49
  * @returns The found component
39
50
  */
40
- protected getComponentByName<T extends Component>(name: string): T | null;
51
+ protected getComponentByName<T extends Component>(name: string): T;
41
52
  /**
42
53
  * @param type The type of the component to find
43
54
  * @returns The found component
44
55
  */
45
- protected getComponentByType<T extends Component>(type: string): T | null;
56
+ protected getComponentByType<T extends Component>(type: string): T;
46
57
  /**
47
58
  * @param type The type of the components to find
48
59
  * @returns The found components
@@ -52,7 +63,7 @@ export declare abstract class Component {
52
63
  * @param name The name of the game object to find
53
64
  * @returns The found game object
54
65
  */
55
- protected findGameObjectByName<T extends GameObject>(name: string): T | null;
66
+ protected findGameObjectByName<T extends GameObject>(name: string): T;
56
67
  /**
57
68
  * @param tag The tag of the game objects to find
58
69
  * @returns The found game objects
@@ -62,7 +73,7 @@ export declare abstract class Component {
62
73
  * @param tag The tag of the game object to find
63
74
  * @returns The found game object
64
75
  */
65
- protected findGameObjectByTag<T extends GameObject>(tag: string): T | null;
76
+ protected findGameObjectByTag<T extends GameObject>(tag: string): T;
66
77
  /**
67
78
  * Destroy one game objects by its name
68
79
  * @param name The name of the game object
@@ -4,7 +4,6 @@ import { Animation } from "../Animation";
4
4
  export interface AnimatorConfig {
5
5
  spriteRenderer: SpriteRenderer;
6
6
  }
7
- export declare const TYPE_ANIMATOR: string;
8
7
  export declare class Animator extends EngineComponent {
9
8
  private timeManager;
10
9
  private spriteRenderer;
@@ -4,7 +4,6 @@ export interface AudioPlayerConfig {
4
4
  volume?: number;
5
5
  loop?: boolean;
6
6
  }
7
- export declare const TYPE_AUDIO_PLAYER: string;
8
7
  export declare class AudioPlayer extends EngineComponent {
9
8
  volume: number;
10
9
  loop: boolean;
@@ -1,6 +1,5 @@
1
1
  import { CameraComponent } from "../Component";
2
2
  import { Rectangle } from "../Math/Rectangle";
3
- export declare const TYPE_CAMERA: string;
4
3
  export declare class Camera extends CameraComponent {
5
4
  private renderManager;
6
5
  private domManager;
@@ -9,7 +9,6 @@ export interface BoxColliderConfig {
9
9
  physics?: boolean;
10
10
  debug?: boolean;
11
11
  }
12
- export declare const TYPE_BOX_COLLIDER: string;
13
12
  export declare class BoxCollider extends AbstractColliderComponent {
14
13
  debug: boolean;
15
14
  width: number;
@@ -4,7 +4,6 @@ export interface TilemapColliderConfig {
4
4
  tilemapRenderer: TilemapRenderer;
5
5
  debug?: boolean;
6
6
  }
7
- export declare const TYPE_TILEMAP_COLLIDER: string;
8
7
  export declare class TilemapCollider extends AbstractColliderComponent {
9
8
  private tilemapRenderer;
10
9
  private debug;
@@ -0,0 +1,13 @@
1
+ export declare const ComponentTypes: {
2
+ Animator: string;
3
+ AudioPlayer: string;
4
+ Camera: string;
5
+ RigidBody: string;
6
+ Transform: string;
7
+ BoxCollider: string;
8
+ TilemapCollider: string;
9
+ CsvTilemapRenderer: string;
10
+ SpriteRenderer: string;
11
+ TextRenderer: string;
12
+ TiledTilemapRenderer: string;
13
+ };
@@ -2,11 +2,12 @@ import { TilemapRenderer, TilemapRendererConfig } from "./TilemapRenderer";
2
2
  export interface CsvTilemapConfig extends TilemapRendererConfig {
3
3
  tilemapData: string;
4
4
  alpha?: number;
5
+ tintColor?: string;
5
6
  }
6
- export declare const TYPE_TILEMAP_RENDERER: string;
7
7
  export declare class CsvTilemapRenderer extends TilemapRenderer {
8
8
  readonly tilemapData: string;
9
9
  readonly alpha: number;
10
+ readonly tintColor: string;
10
11
  constructor(config: CsvTilemapConfig);
11
12
  protected processTilemap(): void;
12
13
  }
@@ -13,9 +13,9 @@ export interface SpriteRendererConfig {
13
13
  tiled?: Vector2;
14
14
  maskColor?: string;
15
15
  maskColorMix?: number;
16
+ tintColor?: string;
16
17
  layer?: string;
17
18
  }
18
- export declare const TYPE_SPRITE_RENDERER: string;
19
19
  export declare class SpriteRenderer extends RenderComponent {
20
20
  private renderManager;
21
21
  sprite: Sprite;
@@ -28,6 +28,7 @@ export declare class SpriteRenderer extends RenderComponent {
28
28
  private _tiled;
29
29
  maskColor: string;
30
30
  maskColorMix: number;
31
+ tintColor: string;
31
32
  layer: string;
32
33
  private renderData;
33
34
  private innerPosition;
@@ -1,4 +1,6 @@
1
1
  import { RenderComponent } from "../../Component";
2
+ import { Orientation } from "../../Core/Rendering/RenderData/TextRenderData";
3
+ import { Rotation } from "../../Math/Rotation";
2
4
  import { Vector2 } from "../../Math/Vector2";
3
5
  export interface TextRendererConfig {
4
6
  text: string;
@@ -15,8 +17,10 @@ export interface TextRendererConfig {
15
17
  charRanges?: number[];
16
18
  bitmapSize?: number;
17
19
  bitmapOffset?: Vector2;
20
+ rotation?: Rotation;
21
+ opacity?: number;
22
+ orientation?: Orientation;
18
23
  }
19
- export declare const TYPE_TEXT_RENDERER = "TextRenderer";
20
24
  export declare class TextRenderer extends RenderComponent {
21
25
  text: string;
22
26
  fontFamily: string;
@@ -32,6 +36,9 @@ export declare class TextRenderer extends RenderComponent {
32
36
  charRanges: number[];
33
37
  smooth: boolean;
34
38
  bitmapOffset: Vector2;
39
+ rotation: Rotation;
40
+ opacity: number;
41
+ orientation: Orientation;
35
42
  private renderManager;
36
43
  private renderData;
37
44
  private lastFrameText;
@@ -3,7 +3,6 @@ export interface TiledTilemapConfig extends TilemapRendererConfig {
3
3
  tilemapData: TiledTilemap;
4
4
  layerName?: string;
5
5
  }
6
- export declare const TYPE_TILED_RENDERER: string;
7
6
  export declare class TiledTilemapRenderer extends TilemapRenderer {
8
7
  readonly tiledTilemap: TiledTilemap;
9
8
  readonly layerName: string;
@@ -40,4 +39,5 @@ export interface TiledLayer {
40
39
  starty?: number;
41
40
  offsetx?: number;
42
41
  offsety?: number;
42
+ tintcolor?: string;
43
43
  }
@@ -14,6 +14,19 @@ export declare type Offset = {
14
14
  y: number;
15
15
  };
16
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
+ };
17
30
  export interface TilemapRendererConfig {
18
31
  tileset: Tileset;
19
32
  renderOrder?: RenderOrder;
@@ -32,7 +45,7 @@ export declare abstract class TilemapRenderer extends RenderComponent {
32
45
  protected orientation: Vector2;
33
46
  protected renderManager: RenderManager;
34
47
  protected tilemapProcessed: boolean;
35
- protected renderData: Map<number, TilemapRenderData>;
48
+ protected renderData: Map<string, TilemapRenderData>;
36
49
  private cols;
37
50
  private rows;
38
51
  protected _width: number;
@@ -45,9 +58,9 @@ export declare abstract class TilemapRenderer extends RenderComponent {
45
58
  protected start(): void;
46
59
  protected update(): void;
47
60
  protected abstract processTilemap(): void;
48
- protected processTile(tile: Tile, col: number, row: number, alpha?: number, flip?: Flip, offset?: Offset): void;
61
+ protected processLayer(data: LayerToProcess): void;
62
+ protected processTile(data: TileToProcess): void;
49
63
  private addTileToRenderData;
50
- private createRenderDataForAlpha;
51
64
  private updateSizeInfo;
52
65
  private updatePosition;
53
66
  protected addTileData(tileRenderData: TileRenderData): void;
@@ -9,7 +9,6 @@ export interface RigidBodyConfig {
9
9
  layersToCollide?: string[];
10
10
  gravity?: number;
11
11
  }
12
- export declare const TYPE_RIGIDBODY: string;
13
12
  export declare class RigidBody extends PhysicsComponent {
14
13
  private timeManager;
15
14
  private readonly gravityScale;
@@ -1,7 +1,6 @@
1
1
  import { TransformComponent } from "../Component";
2
2
  import { Rotation } from "../Math/Rotation";
3
3
  import { Vector2 } from "../Math/Vector2";
4
- export declare const TYPE_TRANSFORM: string;
5
4
  export declare class Transform extends TransformComponent {
6
5
  private _position;
7
6
  private _scale;
@@ -2,14 +2,14 @@ import { GameObject } from "../../GameObject";
2
2
  export declare type GameObjectFactory = () => GameObject;
3
3
  export declare class GameObjectManager {
4
4
  private gameObjects;
5
- addGameObject<T extends GameObject>(gameObjectFactory: GameObjectFactory, name: string, parent?: GameObject | null): T;
5
+ addGameObject<T extends GameObject>(gameObjectFactory: GameObjectFactory, name: string, parent?: GameObject): T;
6
6
  getGameObjects(): GameObject[];
7
- findGameObjectById(id: string): GameObject | null;
8
- findGameObjectByName(name: string): GameObject | null;
7
+ findGameObjectById(id: string): GameObject;
8
+ findGameObjectByName(name: string): GameObject;
9
9
  findGameObjectsByParent(parent: GameObject): GameObject[];
10
- findGameObjectByParentAndName(parent: GameObject, name: string): GameObject | null;
10
+ findGameObjectByParentAndName(parent: GameObject, name: string): GameObject;
11
11
  findGameObjectsByTag(tag: string): GameObject[];
12
- findGameObjectByTag(tag: string): GameObject | null;
12
+ findGameObjectByTag(tag: string): GameObject;
13
13
  destroyAllGameObjects(): void;
14
14
  destroyGameObject(gameObject: GameObject): void;
15
15
  private _destroyGameObject;
@@ -1,7 +1,7 @@
1
1
  export declare class GamepadController {
2
2
  private readonly gamepads;
3
3
  constructor();
4
- getGamepad(index: number): GamepadData | null;
4
+ getGamepad(index: number): GamepadData;
5
5
  private eventHandler;
6
6
  private gamepadConnected;
7
7
  private gamepadDisconected;
@@ -18,4 +18,5 @@ export declare class ImageRenderData extends RenderData {
18
18
  alpha: number;
19
19
  maskColor: string;
20
20
  maskColorMix: number;
21
+ tintColor: string;
21
22
  }
@@ -1,5 +1,6 @@
1
1
  import { Vector2 } from "../../../Math/Vector2";
2
2
  import { RenderData, RenderDataType } from "./RenderData";
3
+ export declare type Orientation = "rightUp" | "rightDown" | "center";
3
4
  export declare class TextRenderData extends RenderData {
4
5
  type: RenderDataType;
5
6
  color: string;
@@ -15,4 +16,7 @@ export declare class TextRenderData extends RenderData {
15
16
  bitmapOffset: Vector2;
16
17
  width: number;
17
18
  height: number;
19
+ rotation: number;
20
+ opacity: number;
21
+ orientation: Orientation;
18
22
  }
@@ -18,4 +18,5 @@ export declare class TilemapRenderData extends RenderData {
18
18
  tileWidth: number;
19
19
  tileHeight: number;
20
20
  textureCorrection: number;
21
+ tintColor: string;
21
22
  }
@@ -12,11 +12,15 @@ export declare class ProgramManager {
12
12
  modelMatrixUniform: WebGLUniformLocation;
13
13
  projectionMatrixUniform: WebGLUniformLocation;
14
14
  textureMatrixUniform: WebGLUniformLocation;
15
+ renderTextureUniform: WebGLUniformLocation;
15
16
  textureUniform: WebGLUniformLocation;
17
+ solidColorUniform: WebGLUniformLocation;
18
+ useTintColorUniform: WebGLUniformLocation;
19
+ tintColorUniform: WebGLUniformLocation;
20
+ useMaskColorUniform: WebGLUniformLocation;
21
+ maskColorUniform: WebGLUniformLocation;
22
+ maskColorMixUniform: WebGLUniformLocation;
16
23
  alphaUniform: WebGLUniformLocation;
17
- colorUniform: WebGLUniformLocation;
18
- colorMixUniform: WebGLUniformLocation;
19
- renderTextureUniform: WebGLUniformLocation;
20
24
  constructor(programFactory: ProgramFactory, contextVersion: WebGLContextVersion, canvas: HTMLCanvasElement);
21
25
  loadProgram(): void;
22
26
  }
@@ -13,7 +13,6 @@ export declare class GeometricRenderer {
13
13
  private readonly texVertices;
14
14
  private lastVertices;
15
15
  private lastRender;
16
- private rgbColor;
17
16
  constructor(contextVersion: WebGLContextVersion, canvas: HTMLCanvasElement, programManager: ProgramManager);
18
17
  renderCollider(viewportRect: Rectangle, renderData: ColliderRenderData, lastRender: LastRender): void;
19
18
  renderGeometric(viewportRect: Rectangle, renderData: GeometricRenderData, lastRender: LastRender): void;
@@ -11,7 +11,6 @@ export declare class ImageRenderer {
11
11
  private posVertices;
12
12
  private texVertices;
13
13
  private lastTexture;
14
- private maskColor;
15
14
  constructor(contextVersion: WebGLContextVersion, canvas: HTMLCanvasElement, programManager: ProgramManager);
16
15
  render(viewportRect: Rectangle, texture: WebGLTexture, renderData: ImageRenderData, lastRender: LastRender): void;
17
16
  }
@@ -13,8 +13,9 @@ export declare class TextRenderer {
13
13
  private texVertices;
14
14
  private posVerticesSize;
15
15
  private lastTexture;
16
- private maskColor;
17
16
  constructor(contextVersion: WebGLContextVersion, canvas: HTMLCanvasElement, programManager: ProgramManager);
18
17
  render(viewportRect: Rectangle, texture: WebGLTexture, fontAtlas: FontAtlas, renderData: TextRenderData, lastRender: LastRender): void;
19
18
  private generateTextVertices;
19
+ private getTranslationForOrientation;
20
+ private getDimensions;
20
21
  }
@@ -11,7 +11,6 @@ export declare class TilemapRenderer {
11
11
  private posVertices;
12
12
  private texVertices;
13
13
  private lastTexture;
14
- private maskColor;
15
14
  constructor(contextVersion: WebGLContextVersion, canvas: HTMLCanvasElement, programManager: ProgramManager);
16
15
  render(viewportRect: Rectangle, texture: WebGLTexture, renderData: TilemapRenderData, lastRender: LastRender): void;
17
16
  private p;
@@ -1 +1 @@
1
- export declare const imageFragmentShader = "precision mediump float;\n\nvarying vec2 texCoords;\n\nuniform int u_renderTexture;\nuniform sampler2D u_texImage;\nuniform float u_alpha;\nuniform vec4 u_color;\nuniform float u_colorMix;\n\nvoid main()\n{\n if (u_renderTexture == 1) {\n vec4 texColor = texture2D(u_texImage, texCoords);\n\n if(texColor.a < 0.0001)\n discard;\n\n gl_FragColor = mix(vec4(texColor.rgb, u_alpha), vec4(u_color.rgb, u_alpha), clamp(u_colorMix, 0.0, 1.0));\n \n } else {\n gl_FragColor = u_color;\n }\n \n}";
1
+ export declare const imageFragmentShader = "precision mediump float;\n\nvarying vec2 texCoords;\n\nuniform int u_renderTexture;\nuniform sampler2D u_texImage;\nuniform vec4 u_solidColor;\n\nuniform int u_useTintColor;\nuniform vec4 u_tintColor;\n\nuniform int u_useMaskColor;\nuniform vec4 u_maskColor;\nuniform float u_maskColorMix;\n\nuniform float u_alpha;\n\nvoid main()\n{\n if (u_renderTexture == 1) {\n vec4 texColor = texture2D(u_texImage, texCoords);\n\n if (texColor.a < 0.0001) {\n discard;\n }\n\n if (u_useTintColor == 1) {\n texColor = u_tintColor * texColor;\n }\n\n if (u_useMaskColor == 1) {\n texColor = mix(texColor, u_maskColor, clamp(u_maskColorMix, 0.0, 1.0));\n }\n\n gl_FragColor = vec4(texColor.rgb, u_alpha);\n } else {\n gl_FragColor = u_solidColor;\n }\n}";
@@ -1 +1 @@
1
- export declare const imageFragmentShader = "#version 300 es\nprecision mediump float;\n\nout vec4 fragColor;\n\nin vec2 texCoords;\n\nuniform int u_renderTexture;\nuniform sampler2D u_texImage;\nuniform float u_alpha;\nuniform vec4 u_color;\nuniform float u_colorMix;\n\nvoid main()\n{\n if (u_renderTexture == 1) {\n vec4 texColor = texture(u_texImage, texCoords);\n \n if(texColor.a < 0.0001)\n discard;\n \n fragColor = mix(vec4(texColor.rgb, u_alpha), vec4(u_color.rgb, u_alpha), clamp(u_colorMix, 0.0, 1.0));\n } else {\n fragColor = u_color;\n }\n}";
1
+ export declare const imageFragmentShader = "#version 300 es\nprecision mediump float;\n\nout vec4 fragColor;\n\nin vec2 texCoords;\n\nuniform int u_renderTexture;\nuniform sampler2D u_texImage;\nuniform vec4 u_solidColor;\n\nuniform int u_useTintColor;\nuniform vec4 u_tintColor;\n\nuniform int u_useMaskColor;\nuniform vec4 u_maskColor;\nuniform float u_maskColorMix;\n\nuniform float u_alpha;\n\nvoid main()\n{\n if (u_renderTexture == 1) {\n vec4 texColor = texture(u_texImage, texCoords);\n\n if (texColor.a < 0.0001) {\n discard;\n }\n\n if (u_useTintColor == 1) {\n texColor = u_tintColor * texColor;\n }\n\n if (u_useMaskColor == 1) {\n texColor = mix(texColor, u_maskColor, clamp(u_maskColorMix, 0.0, 1.0));\n }\n\n fragColor = vec4(texColor.rgb, u_alpha); \n } else {\n fragColor = u_solidColor;\n }\n}";
@@ -1,6 +1,7 @@
1
- export declare type RGB = {
1
+ export declare type RGBA = {
2
2
  r: number;
3
3
  g: number;
4
4
  b: number;
5
+ a: number;
5
6
  };
6
- export declare const hexToRgb: (hex: string) => RGB | null;
7
+ export declare const hexToRgba: (hex: string) => RGBA | null;
@@ -9,7 +9,7 @@ export declare class GameObjectManagerFacade {
9
9
  * @param parent (optional) The parent game object
10
10
  * @returns the added game object
11
11
  */
12
- static addGameObject<T extends GameObject>(gameObjectFactory: GameObjectFactory, name: string, parent?: GameObject | null): T;
12
+ static addGameObject<T extends GameObject>(gameObjectFactory: GameObjectFactory, name: string, parent?: GameObject): T;
13
13
  /**
14
14
  * @returns All the added game objects
15
15
  */
@@ -18,7 +18,7 @@ export declare class GameObjectManagerFacade {
18
18
  * @param name The name of the game object to find
19
19
  * @returns The found game object
20
20
  */
21
- static findGameObjectByName<T extends GameObject>(name: string): T | null;
21
+ static findGameObjectByName<T extends GameObject>(name: string): T;
22
22
  /**
23
23
  * @param parent The parent game object
24
24
  * @returns The found game objects
@@ -30,7 +30,7 @@ export declare class GameObjectManagerFacade {
30
30
  * @param name The name of the game object to find
31
31
  * @returns The found game objects
32
32
  */
33
- static findGameObjectByParentAndName<T extends GameObject>(parent: GameObject, name: string): T | null;
33
+ static findGameObjectByParentAndName<T extends GameObject>(parent: GameObject, name: string): T;
34
34
  /**
35
35
  * @param tag The tag of the game objects to find
36
36
  * @returns The found game objects
@@ -40,7 +40,7 @@ export declare class GameObjectManagerFacade {
40
40
  * @param tag The tag of the game object to find
41
41
  * @returns The found game object
42
42
  */
43
- static findGameObjectByTag<T extends GameObject>(tag: string): T | null;
43
+ static findGameObjectByTag<T extends GameObject>(tag: string): T;
44
44
  /**
45
45
  * Destroy all the added game objects
46
46
  */
@@ -11,8 +11,8 @@ export declare class GameObject {
11
11
  layer: string;
12
12
  ui: boolean;
13
13
  private _active;
14
- private started;
15
14
  private _parent;
15
+ private started;
16
16
  private sceneManager;
17
17
  private gameObjectManager;
18
18
  private components;
@@ -25,11 +25,16 @@ export declare class GameObject {
25
25
  set parent(parent: GameObject | null);
26
26
  private gameLoopEventHandler;
27
27
  /**
28
- * This method is called on the first frame
28
+ * This method is only ever called once.
29
+ * Recommended for GameObject cration.
30
+ */
31
+ init(): void;
32
+ /**
33
+ * This method is only ever called once.
29
34
  */
30
35
  protected start(): void;
31
36
  /**
32
- * This method is called on every frame
37
+ * This method is called on every frame.
33
38
  */
34
39
  protected update(): void;
35
40
  /**
@@ -46,7 +51,7 @@ export declare class GameObject {
46
51
  * @param name The name of the game object to find
47
52
  * @returns The found game object
48
53
  */
49
- protected findGameObjectByName<T extends GameObject>(name: string): T | null;
54
+ protected findGameObjectByName<T extends GameObject>(name: string): T;
50
55
  /**
51
56
  * @param tag The tag of the game objects to find
52
57
  * @returns The found game objects
@@ -56,7 +61,7 @@ export declare class GameObject {
56
61
  * @param tag The tag of the game object to find
57
62
  * @returns The found game object
58
63
  */
59
- protected findGameObjectByTag<T extends GameObject>(tag: string): T | null;
64
+ protected findGameObjectByTag<T extends GameObject>(tag: string): T;
60
65
  /**
61
66
  * Add a components to the game obejct
62
67
  *
@@ -74,12 +79,12 @@ export declare class GameObject {
74
79
  * @param name The name of the component to find
75
80
  * @returns The found component
76
81
  */
77
- getComponentByName<T extends Component>(name: string): T | null;
82
+ getComponentByName<T extends Component>(name: string): T;
78
83
  /**
79
84
  * @param type The type of the component to find
80
85
  * @returns The found component
81
86
  */
82
- getComponentByType<T extends Component>(type: string): T | null;
87
+ getComponentByType<T extends Component>(type: string): T;
83
88
  /**
84
89
  * @param type The type of the components to find
85
90
  * @returns The found components
@@ -3,6 +3,10 @@ export declare class Rotation {
3
3
  private _degrees;
4
4
  private _radians;
5
5
  private _direction;
6
+ constructor(config?: {
7
+ radians?: number;
8
+ degrees?: number;
9
+ });
6
10
  set degrees(degrees: number);
7
11
  get degrees(): number;
8
12
  set radians(radians: number);
@@ -4,19 +4,24 @@ import { GameObject } from "./GameObject";
4
4
  import { GameObjectFactory } from "./Core/GameObject/GameObjectManager";
5
5
  export declare const GAME_CAMERA_ID = "GameCamera";
6
6
  export declare class Scene {
7
+ private readonly gameObjectManager;
7
8
  game: Game;
8
9
  name: string;
9
- private gameObjectManager;
10
10
  private started;
11
11
  constructor();
12
12
  private gameLoopEventHandler;
13
13
  get gameCamera(): GameCamera;
14
14
  /**
15
- * This method is called on the first frame
15
+ * This method is only ever called once.
16
+ * Recommended for GameObject cration.
17
+ */
18
+ init(): void;
19
+ /**
20
+ * This method is only ever called once.
16
21
  */
17
22
  protected start(): void;
18
23
  /**
19
- * This method is called on every frame
24
+ * This method is called on every frame.
20
25
  */
21
26
  protected update(): void;
22
27
  /**
@@ -33,7 +38,7 @@ export declare class Scene {
33
38
  * @param name The name of the game object to find
34
39
  * @returns The found game object
35
40
  */
36
- protected findGameObjectByName<T extends GameObject>(name: string): T | null;
41
+ protected findGameObjectByName<T extends GameObject>(name: string): T;
37
42
  /**
38
43
  * @param tag The tag of the game objects to find
39
44
  * @returns The found game objects
@@ -43,7 +48,7 @@ export declare class Scene {
43
48
  * @param tag The tag of the game object to find
44
49
  * @returns The found game object
45
50
  */
46
- protected findGameObjectByTag<T extends GameObject>(tag: string): T | null;
51
+ protected findGameObjectByTag<T extends GameObject>(tag: string): T;
47
52
  /**
48
53
  * Desroy all the loaded game objects
49
54
  */
@@ -0,0 +1,12 @@
1
+ import { Sprite } from "./Sprite";
2
+ export interface AnimationConfig {
3
+ sprites: Sprite[];
4
+ loop: boolean;
5
+ framerate: number;
6
+ }
7
+ export declare class Animation {
8
+ sprites: Sprite[];
9
+ framerate: number;
10
+ loop: boolean;
11
+ constructor(config: AnimationConfig);
12
+ }
@@ -0,0 +1,18 @@
1
+ import { EngineComponent } from "../core/Component";
2
+ import { SpriteRenderer } from "./renderingComponent/SpriteRenderer";
3
+ import { Animation } from "./Animation";
4
+ export interface AnimatorConfig {
5
+ spriteRenderer: SpriteRenderer;
6
+ }
7
+ export declare class Animator extends EngineComponent {
8
+ private timeManager;
9
+ private spriteRenderer;
10
+ private animations;
11
+ private currentAnimation;
12
+ constructor(config: AnimatorConfig);
13
+ protected update(): void;
14
+ addAnimation(name: string, animation: Animation, framerate?: number): this;
15
+ playAnimation(name: string): void;
16
+ stopAnimation(): void;
17
+ isPlayingAnimation(name: string): boolean;
18
+ }
@@ -0,0 +1,27 @@
1
+ import { EngineComponent } from "../core/Component";
2
+ export interface AudioPlayerConfig {
3
+ audio?: HTMLAudioElement;
4
+ volume?: number;
5
+ loop?: boolean;
6
+ }
7
+ export declare class AudioPlayer extends EngineComponent {
8
+ volume: number;
9
+ loop: boolean;
10
+ audio: HTMLAudioElement;
11
+ private clones;
12
+ private _playing;
13
+ private _paused;
14
+ constructor(config?: AudioPlayerConfig);
15
+ playAudio(audio: HTMLAudioElement, volume?: number | null): void;
16
+ private cloneAudio;
17
+ play(): void;
18
+ stop(): void;
19
+ pause(): void;
20
+ private audioEventHandler;
21
+ private userinputEventHandler;
22
+ setActive(active: boolean): void;
23
+ /**
24
+ * @description NOTE: Do not call this method. Use GameObject.setComponentActive instead.
25
+ */
26
+ destroy(): void;
27
+ }
@@ -0,0 +1,30 @@
1
+ import { CameraComponent } from "../core/Component";
2
+ import { Rectangle } from "../math/Rectangle";
3
+ export declare class Camera extends CameraComponent {
4
+ private renderManager;
5
+ private domManager;
6
+ private _layers;
7
+ private _depth;
8
+ private _zoom;
9
+ private _originalViewportRect;
10
+ private _viewportRect;
11
+ private _worldSpaceRect;
12
+ private canvas;
13
+ private cameraData;
14
+ constructor();
15
+ set layers(layers: string[]);
16
+ get layers(): string[];
17
+ set depth(depth: number);
18
+ get depth(): number;
19
+ set zoom(zoom: number);
20
+ get zoom(): number;
21
+ get originalViewportRect(): Rectangle;
22
+ get worldSpaceRect(): Rectangle;
23
+ get viewportRect(): Rectangle;
24
+ addLayer(layer: string): void;
25
+ protected update(): void;
26
+ private updateOriginalViewportRect;
27
+ private updateViewportRect;
28
+ private updateWorldSpaceRect;
29
+ private updateCameraData;
30
+ }
@@ -0,0 +1,14 @@
1
+ export declare const ComponentTypes: {
2
+ Animator: string;
3
+ AudioPlayer: string;
4
+ Camera: string;
5
+ RigidBody: string;
6
+ Transform: string;
7
+ BoxCollider: string;
8
+ TilemapCollider: string;
9
+ CsvTilemapRenderer: string;
10
+ SpriteRenderer: string;
11
+ TextRenderer: string;
12
+ TiledTilemapRenderer: string;
13
+ MaskRenderer: string;
14
+ };