angry-pixel 1.0.9 → 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 (71) hide show
  1. package/lib/component/Animator.d.ts +1 -1
  2. package/lib/component/AudioPlayer.d.ts +2 -5
  3. package/lib/component/ComponentTypes.d.ts +1 -0
  4. package/lib/component/RigidBody.d.ts +8 -25
  5. package/lib/component/RigidBodyOld.d.ts +39 -0
  6. package/lib/component/collider/BoxCollider.d.ts +34 -0
  7. package/lib/component/collider/Collider.d.ts +22 -0
  8. package/lib/component/collider/PolygonCollider.d.ts +32 -0
  9. package/lib/component/collider/TilemapCollider.d.ts +16 -0
  10. package/lib/component/colliderComponent/AbstractColliderComponent.d.ts +15 -10
  11. package/lib/component/colliderComponent/BoxCollider.d.ts +3 -1
  12. package/lib/component/colliderComponent/PolygonCollider.d.ts +32 -0
  13. package/lib/component/colliderComponent/TilemapCollider.d.ts +2 -0
  14. package/lib/component/colliderComponent/TriangleCollider.d.ts +32 -0
  15. package/lib/component/rendering/MaskRenderer.d.ts +29 -0
  16. package/lib/component/rendering/SpriteRenderer.d.ts +46 -0
  17. package/lib/component/rendering/TextRenderer.d.ts +49 -0
  18. package/lib/component/rendering/tilemap/CsvTilemapRenderer.d.ts +13 -0
  19. package/lib/component/rendering/tilemap/Tile.d.ts +7 -0
  20. package/lib/component/rendering/tilemap/TileData.d.ts +10 -0
  21. package/lib/component/rendering/tilemap/TiledTilemapRenderer.d.ts +43 -0
  22. package/lib/component/rendering/tilemap/TilemapRenderer.d.ts +72 -0
  23. package/lib/component/rendering/tilemap/Tileset.d.ts +25 -0
  24. package/lib/core/Component.d.ts +25 -25
  25. package/lib/core/Game.d.ts +0 -8
  26. package/lib/core/GameObject.d.ts +16 -23
  27. package/lib/core/Scene.d.ts +10 -8
  28. package/lib/core/managers/GameObjectManager.d.ts +1 -1
  29. package/lib/core/managers/IterationManager.d.ts +24 -11
  30. package/lib/core/managers/SceneManager.d.ts +3 -0
  31. package/lib/core/managers/TimeManager.d.ts +6 -4
  32. package/lib/index.cjs.js +1 -1
  33. package/lib/index.d.ts +12 -12
  34. package/lib/index.esm.js +1 -1
  35. package/lib/index.js +1 -1
  36. package/lib/input/GamepadController.d.ts +1 -1
  37. package/lib/math/Rotation.d.ts +1 -4
  38. package/lib/physics/PhysicsManager.d.ts +24 -0
  39. package/lib/physics/PhysicsManagerOld2.d.ts +34 -0
  40. package/lib/physics/collision/ColliderData.d.ts +15 -0
  41. package/lib/physics/collision/CollisionManager.d.ts +16 -12
  42. package/lib/physics/collision/CollisionManagerOld.d.ts +27 -0
  43. package/lib/physics/collision/QuadTree.d.ts +16 -11
  44. package/lib/physics/collision/collider/ICollider.d.ts +1 -0
  45. package/lib/physics/collision/collider/RectangleCollider.d.ts +2 -1
  46. package/lib/physics/collision/resolver/AABBResolver.d.ts +6 -8
  47. package/lib/physics/collision/resolver/CollisionResolution.d.ts +6 -0
  48. package/lib/physics/collision/resolver/CollisionResolver.d.ts +5 -0
  49. package/lib/physics/collision/resolver/SatResolver.d.ts +7 -6
  50. package/lib/physics/collision/shape/Polygon.d.ts +31 -0
  51. package/lib/physics/collision/shape/Rectangle.d.ts +7 -11
  52. package/lib/physics/collision/shape/Shape.d.ts +13 -24
  53. package/lib/physics/collision-old/CollisionData.d.ts +8 -0
  54. package/lib/physics/collision-old/CollisionManager.d.ts +30 -0
  55. package/lib/physics/collision-old/QuadTree.d.ts +32 -0
  56. package/lib/physics/collision-old/collider/ICollider.d.ts +14 -0
  57. package/lib/physics/collision-old/collider/RectangleCollider.d.ts +32 -0
  58. package/lib/physics/collision-old/resolver/AABBResolver.d.ts +14 -0
  59. package/lib/physics/collision-old/resolver/ICollisionResolver.d.ts +5 -0
  60. package/lib/physics/collision-old/resolver/SatResolver.d.ts +14 -0
  61. package/lib/physics/collision-old/shape/Rectangle.d.ts +13 -0
  62. package/lib/physics/collision-old/shape/Shape.d.ts +28 -0
  63. package/lib/physics/rigodBody/RigidBodyData.d.ts +9 -0
  64. package/lib/physics/rigodBody/RigidBodyManager.d.ts +23 -0
  65. package/lib/rendering/CullingService.d.ts +0 -1
  66. package/lib/rendering/context2D/Context2DRenderer.d.ts +0 -1
  67. package/lib/rendering/renderData/RenderData.d.ts +3 -4
  68. package/lib/rendering/renderData/TilemapRenderData.d.ts +1 -1
  69. package/lib/rendering/webGL/renderer/GeometricRenderer.d.ts +3 -5
  70. package/lib/rendering/webGL/renderer/MaskRenderer.d.ts +1 -1
  71. package/package.json +1 -1
@@ -1,39 +1,42 @@
1
- import { GameObjectFactory } from "./managers/GameObjectManager";
1
+ import { GameObjectFactory, GameObjectManager } from "./managers/GameObjectManager";
2
2
  import { GameObject } from "./GameObject";
3
3
  import { Scene } from "./Scene";
4
+ import { FrameEvent } from "./managers/IterationManager";
4
5
  export declare abstract class Component {
5
6
  private sceneManager;
6
- private gameObjectManager;
7
+ protected gameObjectManager: GameObjectManager;
7
8
  readonly id: string;
8
- allowMultiple: boolean;
9
9
  type: string;
10
10
  name: string;
11
11
  gameObject: GameObject;
12
+ allowMultiple: boolean;
12
13
  private _active;
13
14
  private started;
14
- constructor();
15
- protected get updateEvent(): string;
15
+ protected get updateEvent(): FrameEvent;
16
16
  get active(): boolean;
17
- /**
18
- * If the component become inactive, will stop its execution
19
- *
20
- * @param active TRUE or FALSE
21
- */
22
17
  setActive(active: boolean): void;
23
- protected gameLoopEventHandler: (event: Event) => void;
18
+ dispatch(event: FrameEvent): void;
24
19
  /**
25
- * This method is only ever called once.
20
+ * This method is called only once.
26
21
  * Recommended for GameObject cration.
27
22
  */
28
- init(): void;
23
+ protected init(): void;
29
24
  /**
30
- * This method is only ever called once
25
+ * This method is called only once.
31
26
  */
32
27
  protected start(): void;
33
28
  /**
34
29
  * This method is called on every frame.
35
30
  */
36
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;
37
40
  /**
38
41
  * @returns The current loaded scene
39
42
  */
@@ -102,29 +105,26 @@ export declare abstract class Component {
102
105
  * @param type The tyepe of the component to remove
103
106
  */
104
107
  removeComponentByType(type: string): void;
105
- /**
106
- * @description NOTE: Do not call this method. Use GameObject.setComponentActive instead.
107
- */
108
- destroy(): void;
108
+ private _destroy;
109
109
  }
110
110
  export declare abstract class EngineComponent extends Component {
111
- protected get updateEvent(): string;
111
+ protected get updateEvent(): FrameEvent;
112
112
  }
113
113
  export declare abstract class ColliderComponent extends Component {
114
- protected get updateEvent(): string;
114
+ protected get updateEvent(): FrameEvent;
115
115
  }
116
116
  export declare abstract class PhysicsComponent extends Component {
117
- protected get updateEvent(): string;
117
+ protected get updateEvent(): FrameEvent;
118
118
  }
119
119
  export declare abstract class TransformComponent extends Component {
120
- protected get updateEvent(): string;
120
+ protected get updateEvent(): FrameEvent;
121
121
  }
122
122
  export declare abstract class PreRenderComponent extends Component {
123
- protected get updateEvent(): string;
123
+ protected get updateEvent(): FrameEvent;
124
124
  }
125
125
  export declare abstract class CameraComponent extends Component {
126
- protected get updateEvent(): string;
126
+ protected get updateEvent(): FrameEvent;
127
127
  }
128
128
  export declare abstract class RenderComponent extends Component {
129
- protected get updateEvent(): string;
129
+ protected get updateEvent(): FrameEvent;
130
130
  }
@@ -9,8 +9,6 @@ export interface GameConfig {
9
9
  gameHeight?: number;
10
10
  debugEnabled?: boolean;
11
11
  canvasColor?: string;
12
- context2d?: Context2DConfig;
13
- gameFrameRate?: number;
14
12
  physicsFramerate?: number;
15
13
  spriteDefaultScale?: Vector2 | null;
16
14
  collisions?: {
@@ -20,11 +18,6 @@ export interface GameConfig {
20
18
  collidersPerQuad?: number;
21
19
  };
22
20
  }
23
- export declare enum Context2DConfig {
24
- Default = "default",
25
- Disabled = "disabled",
26
- Fallback = "fallback"
27
- }
28
21
  export declare enum CollisionMethodConfig {
29
22
  AABB = "aabb",
30
23
  SAT = "sat"
@@ -38,7 +31,6 @@ export declare class Game {
38
31
  private _stop;
39
32
  private frameRequestId;
40
33
  constructor(config: GameConfig);
41
- private errorEventHandler;
42
34
  private setupManagers;
43
35
  /**
44
36
  * @returns GameConfig
@@ -1,7 +1,9 @@
1
1
  import { Component } from "./Component";
2
2
  import { Transform } from "../component/Transform";
3
+ import { RigidBody } from "../component/RigidBody";
3
4
  import { GameObjectFactory } from "../core/managers/GameObjectManager";
4
5
  import { Scene } from "./Scene";
6
+ import { FrameEvent } from "./managers/IterationManager";
5
7
  export declare const LAYER_DEFAULT = "Default";
6
8
  export declare type ComponentFactory = () => Component;
7
9
  export declare class GameObject {
@@ -17,27 +19,31 @@ export declare class GameObject {
17
19
  private sceneManager;
18
20
  private gameObjectManager;
19
21
  private components;
20
- private inactiveComponents;
21
- private inactiveChildren;
22
22
  constructor();
23
- get transform(): Transform;
24
23
  get active(): boolean;
25
- get parent(): GameObject;
24
+ setActive(active: boolean): void;
25
+ get transform(): Transform;
26
+ get rigidBody(): RigidBody;
27
+ get parent(): GameObject | null;
26
28
  set parent(parent: GameObject | null);
27
- private gameLoopEventHandler;
29
+ dispatch(event: FrameEvent): void;
28
30
  /**
29
- * This method is only ever called once.
31
+ * This method is called only once.
30
32
  * Recommended for GameObject cration.
31
33
  */
32
- init(): void;
34
+ protected init(): void;
33
35
  /**
34
- * This method is only ever called once.
36
+ * This method is called only once.
35
37
  */
36
38
  protected start(): void;
37
39
  /**
38
40
  * This method is called on every frame.
39
41
  */
40
42
  protected update(): void;
43
+ /**
44
+ * This method is called before the object is destroyed.
45
+ */
46
+ protected destroy(): void;
41
47
  /**
42
48
  * @returns The current loaded scene
43
49
  */
@@ -109,10 +115,6 @@ export declare class GameObject {
109
115
  * @param type The tyepe of the component to remove
110
116
  */
111
117
  removeComponentByType(type: string): void;
112
- /**
113
- * Remove all added components
114
- */
115
- removeComponents(): void;
116
118
  /**
117
119
  * Add a child game object.
118
120
  *
@@ -134,13 +136,6 @@ export declare class GameObject {
134
136
  * Destroy all the children game objects
135
137
  */
136
138
  destroyChildren(): void;
137
- /**
138
- * If the object become inactive, every component and child game object will stop their execution.
139
- *
140
- * @param active TRUE or FALE
141
- */
142
- setActive(active: boolean): void;
143
- private updateInactiveCache;
144
139
  /**
145
140
  * Destroy one game objects by its name
146
141
  * @param name The name of the game object
@@ -151,8 +146,6 @@ export declare class GameObject {
151
146
  * @param gameObject The game object to destory
152
147
  */
153
148
  destroyGameObject(gameObject: GameObject): void;
154
- /**
155
- * @description NOTE: do not use this method. Use GameObject.destroyGameObject or Scene.destroyGameObject instead.
156
- */
157
- destroy(): void;
149
+ private _destroy;
150
+ private destroyComponents;
158
151
  }
@@ -2,6 +2,7 @@ import { GameCamera } from "../gameObject/GameCamera";
2
2
  import { Game } from "./Game";
3
3
  import { GameObject } from "./GameObject";
4
4
  import { GameObjectFactory } from "../core/managers/GameObjectManager";
5
+ import { FrameEvent } from "./managers/IterationManager";
5
6
  export declare const GAME_CAMERA_ID = "GameCamera";
6
7
  export declare class Scene {
7
8
  private readonly gameObjectManager;
@@ -9,21 +10,25 @@ export declare class Scene {
9
10
  name: string;
10
11
  private started;
11
12
  constructor();
12
- private gameLoopEventHandler;
13
13
  get gameCamera(): GameCamera;
14
+ dispatch(event: FrameEvent): void;
14
15
  /**
15
- * This method is only ever called once.
16
+ * This method is called only once.
16
17
  * Recommended for GameObject cration.
17
18
  */
18
- init(): void;
19
+ protected init(): void;
19
20
  /**
20
- * This method is only ever called once.
21
+ * This method is called only once.
21
22
  */
22
23
  protected start(): void;
23
24
  /**
24
25
  * This method is called on every frame.
25
26
  */
26
27
  protected update(): void;
28
+ /**
29
+ * This method is called before the scene is destroyed.
30
+ */
31
+ protected destroy(): void;
27
32
  /**
28
33
  * @param gameObjectFactory The factory function for the game object
29
34
  * @param name The name of the game object, this must not be used by another game object
@@ -60,8 +65,5 @@ export declare class Scene {
60
65
  * @param gameObject The game object to destory
61
66
  */
62
67
  protected destroyGameObject(gameObject: GameObject): void;
63
- /**
64
- * @description NOTE: do not use this method. Use SceneManager.unloadCurrentScene instead.
65
- */
66
- destroy(): void;
68
+ private _destroy;
67
69
  }
@@ -12,6 +12,6 @@ export declare class GameObjectManager {
12
12
  findGameObjectByTag(tag: string): GameObject;
13
13
  destroyAllGameObjects(): void;
14
14
  destroyGameObject(gameObject: GameObject): void;
15
- private _destroyGameObject;
15
+ private destroy;
16
16
  private destroyChildren;
17
17
  }
@@ -1,26 +1,39 @@
1
+ import { GameObjectManager } from "./GameObjectManager";
2
+ import { SceneManager } from "./SceneManager";
1
3
  import { InputManager } from "../../input/InputManager";
2
4
  import { CollisionManager } from "../../physics/collision/CollisionManager";
5
+ import { RigidBodyManager } from "../../physics/rigodBody/RigidBodyManager";
3
6
  import { RenderManager } from "../../rendering/RenderManager";
4
7
  import { TimeManager } from "./TimeManager";
5
- export declare const EVENT_START: string;
6
- export declare const EVENT_UPDATE: string;
7
- export declare const EVENT_UPDATE_ENGINE: string;
8
- export declare const EVENT_UPDATE_COLLIDER: string;
9
- export declare const EVENT_UPDATE_PHYSICS: string;
10
- export declare const EVENT_UPDATE_TRANSFORM: string;
11
- export declare const EVENT_UPDATE_PRERENDER: string;
12
- export declare const EVENT_UPDATE_CAMERA: string;
13
- export declare const EVENT_UPDATE_RENDER: string;
8
+ export declare enum FrameEvent {
9
+ Init = 0,
10
+ Start = 1,
11
+ Update = 2,
12
+ UpdateEngine = 3,
13
+ UpdateCollider = 4,
14
+ UpdatePhysics = 5,
15
+ UpdateTransform = 6,
16
+ UpdatePreRender = 7,
17
+ UpdateCamera = 8,
18
+ UpdateRender = 9,
19
+ Destroy = 10
20
+ }
14
21
  export declare class IterationManager {
15
22
  private readonly timeManager;
16
23
  private readonly collisionManager;
24
+ private readonly physicsManager;
17
25
  private readonly renderManager;
18
26
  private readonly inputManager;
27
+ private readonly gameObjectManager;
28
+ private readonly sceneManager;
19
29
  private gameLoopAccumulator;
20
30
  private physicsLoopAccumulator;
21
- private deltaAux;
22
- constructor(timeManager: TimeManager, collisionManager: CollisionManager, renderManager: RenderManager, inputManager: InputManager);
31
+ private currentScene;
32
+ private gameObjects;
33
+ private components;
34
+ constructor(timeManager: TimeManager, collisionManager: CollisionManager, physicsManager: RigidBodyManager, renderManager: RenderManager, inputManager: InputManager, gameObjectManager: GameObjectManager, sceneManager: SceneManager);
23
35
  update(time: number): void;
36
+ private load;
24
37
  private mainIteration;
25
38
  private physicsIteration;
26
39
  private preRenderIteration;
@@ -8,11 +8,14 @@ export declare class SceneManager {
8
8
  private scenes;
9
9
  private currentScene;
10
10
  private openingSceneName;
11
+ private sceneToLoad;
11
12
  currentSceneName: string;
12
13
  constructor(game: Game, renderManager: RenderManager);
13
14
  getCurrentScene<T extends Scene>(): T;
14
15
  addScene(name: string, sceneConstructor: SceneConstructor, openingScene?: boolean): void;
15
16
  loadOpeningScene(): void;
16
17
  loadScene(name: string): void;
18
+ update(): void;
19
+ private _loadScene;
17
20
  unloadCurrentScene(): void;
18
21
  }
@@ -1,17 +1,19 @@
1
- export declare const MIN_GAME_FRAMERATE = 15;
1
+ export declare const MIN_BROWSER_FRAMERATE = 15;
2
2
  export declare const DEFAULT_GAME_FRAMERATE = 60;
3
3
  export declare const MIN_PHYSICS_FRAMERATE = 60;
4
4
  export declare const DEFAULT_PHYSICS_FRAMERATE = 240;
5
5
  export declare class TimeManager {
6
- readonly maxGameDeltatime: number;
7
- readonly maxPhysicsDeltaTime: number;
6
+ readonly minGameDeltatime: number;
7
+ readonly minPhysicsDeltaTime: number;
8
+ readonly gameFramerate: number;
9
+ readonly physicsFramerate: number;
8
10
  timeScale: number;
9
11
  browserDeltaTime: number;
10
12
  unscaledGameDeltaTime: number;
11
13
  unscaledPhysicsDeltaTime: number;
12
14
  private readonly max;
13
15
  private then;
14
- constructor(gameFramerate: number, physicsFramerate: number);
16
+ constructor(physicsFramerate: number);
15
17
  update(time: number): void;
16
18
  get deltaTime(): number;
17
19
  get physicsDeltaTime(): number;