angry-pixel 1.0.5 → 1.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Engine/Component.d.ts +15 -4
- package/lib/Engine/Components/Animator.d.ts +0 -1
- package/lib/Engine/Components/AudioPlayer.d.ts +0 -1
- package/lib/Engine/Components/Camera.d.ts +0 -1
- package/lib/Engine/Components/Colliders/BoxCollider.d.ts +0 -1
- package/lib/Engine/Components/Colliders/TilemapCollider.d.ts +0 -1
- package/lib/Engine/Components/ComponentTypes.d.ts +13 -0
- package/lib/Engine/Components/Renderer/CsvTilemapRenderer.d.ts +2 -1
- package/lib/Engine/Components/Renderer/SpriteRenderer.d.ts +2 -1
- package/lib/Engine/Components/Renderer/TextRenderer.d.ts +8 -1
- package/lib/Engine/Components/Renderer/TiledTilemapRenderer.d.ts +1 -1
- package/lib/Engine/Components/Renderer/TilemapRenderer.d.ts +16 -3
- package/lib/Engine/Components/RigidBody.d.ts +0 -1
- package/lib/Engine/Components/Transform.d.ts +0 -1
- package/lib/Engine/Core/GameObject/GameObjectManager.d.ts +5 -5
- package/lib/Engine/Core/Input/GamepadController.d.ts +1 -1
- package/lib/Engine/Core/Rendering/RenderData/ImageRenderData.d.ts +1 -0
- package/lib/Engine/Core/Rendering/RenderData/TextRenderData.d.ts +4 -0
- package/lib/Engine/Core/Rendering/RenderData/TilemapRenderData.d.ts +1 -0
- package/lib/Engine/Core/Rendering/WebGL/ProgramManager.d.ts +7 -3
- package/lib/Engine/Core/Rendering/WebGL/Renderer/GeometricRenderer.d.ts +0 -1
- package/lib/Engine/Core/Rendering/WebGL/Renderer/ImageRenderer.d.ts +0 -1
- package/lib/Engine/Core/Rendering/WebGL/Renderer/TextRenderer.d.ts +2 -1
- package/lib/Engine/Core/Rendering/WebGL/Renderer/TilemapRenderer.d.ts +0 -1
- package/lib/Engine/Core/Rendering/WebGL/Shader/Legacy/imageFragmentShader.d.ts +1 -1
- package/lib/Engine/Core/Rendering/WebGL/Shader/imageFragmentShader.d.ts +1 -1
- package/lib/Engine/Core/Rendering/WebGL/Utils.d.ts +3 -2
- package/lib/Engine/Facades/GameObjectManagerFacade.d.ts +4 -4
- package/lib/Engine/GameObject.d.ts +12 -7
- package/lib/Engine/Math/Rotation.d.ts +4 -0
- package/lib/Engine/Scene.d.ts +10 -5
- package/lib/component/Animation.d.ts +12 -0
- package/lib/component/Animator.d.ts +18 -0
- package/lib/component/AudioPlayer.d.ts +27 -0
- package/lib/component/Camera.d.ts +30 -0
- package/lib/component/ComponentTypes.d.ts +14 -0
- package/lib/component/RigidBody.d.ts +39 -0
- package/lib/component/Sprite.d.ts +31 -0
- package/lib/component/Transform.d.ts +32 -0
- package/lib/component/colliderComponent/AbstractColliderComponent.d.ts +22 -0
- package/lib/component/colliderComponent/BoxCollider.d.ts +32 -0
- package/lib/component/colliderComponent/TilemapCollider.d.ts +15 -0
- package/lib/component/renderingComponent/MaskRenderer.d.ts +29 -0
- package/lib/component/renderingComponent/SpriteRenderer.d.ts +46 -0
- package/lib/component/renderingComponent/TextRenderer.d.ts +49 -0
- package/lib/component/renderingComponent/tilemap/CsvTilemapRenderer.d.ts +13 -0
- package/lib/component/renderingComponent/tilemap/Tile.d.ts +7 -0
- package/lib/component/renderingComponent/tilemap/TileData.d.ts +10 -0
- package/lib/component/renderingComponent/tilemap/TiledTilemapRenderer.d.ts +43 -0
- package/lib/component/renderingComponent/tilemap/TilemapRenderer.d.ts +72 -0
- package/lib/component/renderingComponent/tilemap/Tileset.d.ts +25 -0
- package/lib/core/Component.d.ts +130 -0
- package/lib/core/Game.d.ts +77 -0
- package/lib/core/GameObject.d.ts +158 -0
- package/lib/core/Scene.d.ts +67 -0
- package/lib/core/facades/AssetManagerFacade.d.ts +29 -0
- package/lib/core/facades/DomManagerFacade.d.ts +8 -0
- package/lib/core/facades/GameObjectManagerFacade.d.ts +54 -0
- package/lib/core/facades/InputManagerFacade.d.ts +13 -0
- package/lib/core/facades/SceneManagerFacade.d.ts +18 -0
- package/lib/core/facades/TimeManagerFacade.d.ts +10 -0
- package/lib/core/ioc/Config.d.ts +3 -0
- package/lib/core/managers/AssetManager.d.ts +16 -0
- package/lib/core/managers/DomManager.d.ts +9 -0
- package/lib/core/managers/GameObjectManager.d.ts +17 -0
- package/lib/core/managers/IterationManager.d.ts +29 -0
- package/lib/core/managers/SceneManager.d.ts +18 -0
- package/lib/core/managers/TimeManager.d.ts +18 -0
- package/lib/gameObject/GameCamera.d.ts +17 -0
- package/lib/gameObject/SpacePointer.d.ts +8 -0
- package/lib/index.cjs.js +1 -1
- package/lib/index.d.ts +39 -36
- package/lib/index.esm.js +1 -1
- package/lib/index.js +1 -1
- package/lib/input/GamepadController.d.ts +48 -0
- package/lib/input/InputManager.d.ts +12 -0
- package/lib/input/KeyboardController.d.ts +12 -0
- package/lib/input/MouseController.d.ts +21 -0
- package/lib/input/TouchController.d.ts +13 -0
- package/lib/math/Rectangle.d.ts +50 -0
- package/lib/math/Rotation.d.ts +16 -0
- package/lib/math/Utils.d.ts +33 -0
- package/lib/math/Vector2.d.ts +114 -0
- package/lib/physics/collision/CollisionData.d.ts +8 -0
- package/lib/physics/collision/CollisionManager.d.ts +27 -0
- package/lib/physics/collision/QuadTree.d.ts +32 -0
- package/lib/physics/collision/collider/ICollider.d.ts +13 -0
- package/lib/physics/collision/collider/RectangleCollider.d.ts +31 -0
- package/lib/physics/collision/resolver/AABBResolver.d.ts +14 -0
- package/lib/physics/collision/resolver/ICollisionResolver.d.ts +5 -0
- package/lib/physics/collision/resolver/SatResolver.d.ts +14 -0
- package/lib/physics/collision/shape/Rectangle.d.ts +13 -0
- package/lib/physics/collision/shape/Shape.d.ts +28 -0
- package/lib/rendering/CameraData.d.ts +9 -0
- package/lib/rendering/ContextRenderer.d.ts +6 -0
- package/lib/rendering/CullingService.d.ts +11 -0
- package/lib/rendering/FontAtlasFactory.d.ts +24 -0
- package/lib/rendering/RenderManager.d.ts +22 -0
- package/lib/rendering/context2D/Context2DRenderer.d.ts +19 -0
- package/lib/rendering/renderData/ColliderRenderData.d.ts +7 -0
- package/lib/rendering/renderData/GeometricRenderData.d.ts +12 -0
- package/lib/rendering/renderData/ImageRenderData.d.ts +22 -0
- package/lib/rendering/renderData/MaskRenderData.d.ts +9 -0
- package/lib/rendering/renderData/RenderData.d.ts +23 -0
- package/lib/rendering/renderData/TextRenderData.d.ts +22 -0
- package/lib/rendering/renderData/TilemapRenderData.d.ts +22 -0
- package/lib/rendering/webGL/ProgramFactory.d.ts +7 -0
- package/lib/rendering/webGL/ProgramManager.d.ts +26 -0
- package/lib/rendering/webGL/ShaderLoader.d.ts +3 -0
- package/lib/rendering/webGL/TextureFactory.d.ts +8 -0
- package/lib/rendering/webGL/TextureManager.d.ts +11 -0
- package/lib/rendering/webGL/Utils.d.ts +7 -0
- package/lib/rendering/webGL/WebGLRenderer.d.ts +36 -0
- package/lib/rendering/webGL/renderer/GeometricRenderer.d.ts +22 -0
- package/lib/rendering/webGL/renderer/ImageRenderer.d.ts +16 -0
- package/lib/rendering/webGL/renderer/MaskRenderer.d.ts +14 -0
- package/lib/rendering/webGL/renderer/TextRenderer.d.ts +21 -0
- package/lib/rendering/webGL/renderer/TilemapRenderer.d.ts +19 -0
- package/lib/rendering/webGL/shader/imageFragmentShader.d.ts +1 -0
- package/lib/rendering/webGL/shader/imageVertexShader.d.ts +1 -0
- package/lib/rendering/webGL/shader/legacy/imageFragmentShader.d.ts +1 -0
- package/lib/rendering/webGL/shader/legacy/imageVertexShader.d.ts +1 -0
- package/lib/utils/Container.d.ts +12 -0
- package/lib/utils/Exception.d.ts +4 -0
- package/lib/utils/UUID.d.ts +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { PhysicsComponent } from "../core/Component";
|
|
2
|
+
import { Vector2 } from "../math/Vector2";
|
|
3
|
+
export declare enum RigidBodyType {
|
|
4
|
+
Static = 0,
|
|
5
|
+
Dynamic = 1
|
|
6
|
+
}
|
|
7
|
+
export interface RigidBodyConfig {
|
|
8
|
+
rigidBodyType: RigidBodyType;
|
|
9
|
+
layersToCollide?: string[];
|
|
10
|
+
gravity?: number;
|
|
11
|
+
}
|
|
12
|
+
export declare class RigidBody extends PhysicsComponent {
|
|
13
|
+
private timeManager;
|
|
14
|
+
private _rigidBodyType;
|
|
15
|
+
private _colliderComponents;
|
|
16
|
+
private _layersToCollide;
|
|
17
|
+
private _velocity;
|
|
18
|
+
private _gravity;
|
|
19
|
+
private deltaGravity;
|
|
20
|
+
private deltaVelocity;
|
|
21
|
+
private collisions;
|
|
22
|
+
private penetrationPerDirection;
|
|
23
|
+
private updatePosition;
|
|
24
|
+
private penetrationResolution;
|
|
25
|
+
constructor(config: RigidBodyConfig);
|
|
26
|
+
get rigidBodyType(): RigidBodyType;
|
|
27
|
+
set velocity(velocity: Vector2);
|
|
28
|
+
get velocity(): Vector2;
|
|
29
|
+
set gravity(gravity: number);
|
|
30
|
+
get gravity(): number;
|
|
31
|
+
protected start(): void;
|
|
32
|
+
protected update(): void;
|
|
33
|
+
private applyGravity;
|
|
34
|
+
private applyVelocity;
|
|
35
|
+
private applyReposition;
|
|
36
|
+
private setPenetrationPerDirectionPerAxis;
|
|
37
|
+
private setPenetrationResolution;
|
|
38
|
+
private updateCollisions;
|
|
39
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Vector2 } from "../math/Vector2";
|
|
2
|
+
export interface SpriteConfig {
|
|
3
|
+
image: HTMLImageElement;
|
|
4
|
+
scale?: Vector2;
|
|
5
|
+
slice?: Slice | null;
|
|
6
|
+
smooth?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface Slice {
|
|
9
|
+
x: number;
|
|
10
|
+
y: number;
|
|
11
|
+
width: number;
|
|
12
|
+
height: number;
|
|
13
|
+
}
|
|
14
|
+
export declare class Sprite {
|
|
15
|
+
private _image;
|
|
16
|
+
private _slice;
|
|
17
|
+
private _scale;
|
|
18
|
+
private _smooth;
|
|
19
|
+
private _width;
|
|
20
|
+
private _height;
|
|
21
|
+
private _loaded;
|
|
22
|
+
constructor(config: SpriteConfig);
|
|
23
|
+
get loaded(): boolean;
|
|
24
|
+
get image(): HTMLImageElement;
|
|
25
|
+
get slice(): Slice;
|
|
26
|
+
get scale(): Vector2;
|
|
27
|
+
get smooth(): boolean;
|
|
28
|
+
get width(): number;
|
|
29
|
+
get height(): number;
|
|
30
|
+
private onLoad;
|
|
31
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { TransformComponent } from "../core/Component";
|
|
2
|
+
import { Rotation } from "../math/Rotation";
|
|
3
|
+
import { Vector2 } from "../math/Vector2";
|
|
4
|
+
export declare class Transform extends TransformComponent {
|
|
5
|
+
private _position;
|
|
6
|
+
private _scale;
|
|
7
|
+
private _rotation;
|
|
8
|
+
private _innerPosition;
|
|
9
|
+
private _parent;
|
|
10
|
+
parentScale: boolean;
|
|
11
|
+
parentRotation: boolean;
|
|
12
|
+
private cache;
|
|
13
|
+
private lastParentRadians;
|
|
14
|
+
private lastPosition;
|
|
15
|
+
private scaledInnerPosition;
|
|
16
|
+
constructor();
|
|
17
|
+
get position(): Vector2;
|
|
18
|
+
set position(position: Vector2);
|
|
19
|
+
get scale(): Vector2;
|
|
20
|
+
set scale(scale: Vector2);
|
|
21
|
+
get rotation(): Rotation;
|
|
22
|
+
get direction(): Vector2;
|
|
23
|
+
get innerPosition(): Vector2;
|
|
24
|
+
set innerPosition(innerPosition: Vector2);
|
|
25
|
+
get parent(): Transform | null;
|
|
26
|
+
set parent(parent: Transform | null);
|
|
27
|
+
protected update(): void;
|
|
28
|
+
private updateInnerPositionFromParent;
|
|
29
|
+
private setPositionFromParent;
|
|
30
|
+
private translateInnerPosition;
|
|
31
|
+
private updateScaledInnerPosition;
|
|
32
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ColliderComponent, RenderComponent } from "../../core/Component";
|
|
2
|
+
import { ICollider } from "../../physics/collision/collider/ICollider";
|
|
3
|
+
import { Collision, CollisionManager } from "../../physics/collision/CollisionManager";
|
|
4
|
+
export declare abstract class AbstractColliderComponent extends ColliderComponent {
|
|
5
|
+
protected collisionManager: CollisionManager;
|
|
6
|
+
protected colliders: ICollider[];
|
|
7
|
+
protected _physics: boolean;
|
|
8
|
+
protected renderer: RenderComponent;
|
|
9
|
+
private collisionsCache;
|
|
10
|
+
constructor();
|
|
11
|
+
get physics(): boolean;
|
|
12
|
+
protected abstract updatePosition(): void;
|
|
13
|
+
protected addCollider(collider: ICollider): void;
|
|
14
|
+
collidesWithLayer(layer: string): boolean;
|
|
15
|
+
getCollisionWithLayer(layer: string): Collision | null;
|
|
16
|
+
getCollisionsWithLayer(layer: string): Collision[];
|
|
17
|
+
setActive(active: boolean): void;
|
|
18
|
+
/**
|
|
19
|
+
* @description NOTE: Do not call this method. Use GameObject.setComponentActive instead.
|
|
20
|
+
*/
|
|
21
|
+
destroy(): void;
|
|
22
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { AbstractColliderComponent } from "./AbstractColliderComponent";
|
|
2
|
+
import { Rotation } from "../../math/Rotation";
|
|
3
|
+
export interface BoxColliderConfig {
|
|
4
|
+
width: number;
|
|
5
|
+
height: number;
|
|
6
|
+
offsetX?: number;
|
|
7
|
+
offsetY?: number;
|
|
8
|
+
rotation?: Rotation;
|
|
9
|
+
physics?: boolean;
|
|
10
|
+
debug?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare class BoxCollider extends AbstractColliderComponent {
|
|
13
|
+
debug: boolean;
|
|
14
|
+
width: number;
|
|
15
|
+
height: number;
|
|
16
|
+
offsetX: number;
|
|
17
|
+
offsetY: number;
|
|
18
|
+
rotation: Rotation;
|
|
19
|
+
private realWidth;
|
|
20
|
+
private realHeight;
|
|
21
|
+
private realOffset;
|
|
22
|
+
private realPosition;
|
|
23
|
+
private realRotation;
|
|
24
|
+
private applyRotation;
|
|
25
|
+
private innerPosition;
|
|
26
|
+
constructor(config: BoxColliderConfig);
|
|
27
|
+
protected start(): void;
|
|
28
|
+
protected update(): void;
|
|
29
|
+
protected updatePosition(): void;
|
|
30
|
+
private updateRealSize;
|
|
31
|
+
private translate;
|
|
32
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { TilemapRenderer } from "../renderingComponent/tilemap/TilemapRenderer";
|
|
2
|
+
import { AbstractColliderComponent } from "./AbstractColliderComponent";
|
|
3
|
+
export interface TilemapColliderConfig {
|
|
4
|
+
tilemapRenderer: TilemapRenderer;
|
|
5
|
+
debug?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare class TilemapCollider extends AbstractColliderComponent {
|
|
8
|
+
private tilemapRenderer;
|
|
9
|
+
private debug;
|
|
10
|
+
private cacheVertex;
|
|
11
|
+
constructor(config: TilemapColliderConfig);
|
|
12
|
+
protected start(): void;
|
|
13
|
+
private needsCollider;
|
|
14
|
+
protected updatePosition(): void;
|
|
15
|
+
}
|
|
@@ -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 } from "./managers/GameObjectManager";
|
|
2
|
+
import { GameObject } from "./GameObject";
|
|
3
|
+
import { Scene } from "./Scene";
|
|
4
|
+
export declare abstract class Component {
|
|
5
|
+
private sceneManager;
|
|
6
|
+
private gameObjectManager;
|
|
7
|
+
readonly id: string;
|
|
8
|
+
allowMultiple: boolean;
|
|
9
|
+
type: string;
|
|
10
|
+
name: string;
|
|
11
|
+
gameObject: GameObject;
|
|
12
|
+
private _active;
|
|
13
|
+
private started;
|
|
14
|
+
constructor();
|
|
15
|
+
protected get updateEvent(): string;
|
|
16
|
+
get active(): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* If the component become inactive, will stop its execution
|
|
19
|
+
*
|
|
20
|
+
* @param active TRUE or FALSE
|
|
21
|
+
*/
|
|
22
|
+
setActive(active: boolean): void;
|
|
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
|
+
*/
|
|
32
|
+
protected start(): void;
|
|
33
|
+
/**
|
|
34
|
+
* This method is called on every frame.
|
|
35
|
+
*/
|
|
36
|
+
protected update(): void;
|
|
37
|
+
/**
|
|
38
|
+
* @returns The current loaded scene
|
|
39
|
+
*/
|
|
40
|
+
protected getCurrentScene<T extends Scene>(): T;
|
|
41
|
+
/**
|
|
42
|
+
* @param gameObjectFactory The factory function for the game object
|
|
43
|
+
* @param name The name of the game object, this must not be used by another game object
|
|
44
|
+
* @returns The added game object
|
|
45
|
+
*/
|
|
46
|
+
protected addGameObject<T extends GameObject>(gameObjectFactory: GameObjectFactory, name: string): T;
|
|
47
|
+
/**
|
|
48
|
+
* @param name The name of the component to find
|
|
49
|
+
* @returns The found component
|
|
50
|
+
*/
|
|
51
|
+
protected getComponentByName<T extends Component>(name: string): T;
|
|
52
|
+
/**
|
|
53
|
+
* @param type The type of the component to find
|
|
54
|
+
* @returns The found component
|
|
55
|
+
*/
|
|
56
|
+
protected getComponentByType<T extends Component>(type: string): T;
|
|
57
|
+
/**
|
|
58
|
+
* @param type The type of the components to find
|
|
59
|
+
* @returns The found components
|
|
60
|
+
*/
|
|
61
|
+
protected getComponentsByType<T extends Component>(type: string): T[];
|
|
62
|
+
/**
|
|
63
|
+
* @param name The name of the game object to find
|
|
64
|
+
* @returns The found game object
|
|
65
|
+
*/
|
|
66
|
+
protected findGameObjectByName<T extends GameObject>(name: string): T;
|
|
67
|
+
/**
|
|
68
|
+
* @param tag The tag of the game objects to find
|
|
69
|
+
* @returns The found game objects
|
|
70
|
+
*/
|
|
71
|
+
protected findGameObjectsByTag(tag: string): GameObject[];
|
|
72
|
+
/**
|
|
73
|
+
* @param tag The tag of the game object to find
|
|
74
|
+
* @returns The found game object
|
|
75
|
+
*/
|
|
76
|
+
protected findGameObjectByTag<T extends GameObject>(tag: string): T;
|
|
77
|
+
/**
|
|
78
|
+
* Destroy one game objects by its name
|
|
79
|
+
* @param name The name of the game object
|
|
80
|
+
*/
|
|
81
|
+
protected destroyGameObjectByName(name: string): void;
|
|
82
|
+
/**
|
|
83
|
+
* Destroy the game objects
|
|
84
|
+
* @param gameObject The game object to destory
|
|
85
|
+
*/
|
|
86
|
+
protected destroyGameObject(gameObject: GameObject): void;
|
|
87
|
+
/**
|
|
88
|
+
* @param name The name of the component to find
|
|
89
|
+
* @returns TRUE or FALSE
|
|
90
|
+
*/
|
|
91
|
+
hasComponentOfName(name: string): boolean;
|
|
92
|
+
/**
|
|
93
|
+
* @param type The type of the component to find
|
|
94
|
+
* @returns TRUE or FALSE
|
|
95
|
+
*/
|
|
96
|
+
hasComponentOfType(type: string): boolean;
|
|
97
|
+
/**
|
|
98
|
+
* @param name The name of the component to remove
|
|
99
|
+
*/
|
|
100
|
+
removeComponentByName(name: string): void;
|
|
101
|
+
/**
|
|
102
|
+
* @param type The tyepe of the component to remove
|
|
103
|
+
*/
|
|
104
|
+
removeComponentByType(type: string): void;
|
|
105
|
+
/**
|
|
106
|
+
* @description NOTE: Do not call this method. Use GameObject.setComponentActive instead.
|
|
107
|
+
*/
|
|
108
|
+
destroy(): void;
|
|
109
|
+
}
|
|
110
|
+
export declare abstract class EngineComponent extends Component {
|
|
111
|
+
protected get updateEvent(): string;
|
|
112
|
+
}
|
|
113
|
+
export declare abstract class ColliderComponent extends Component {
|
|
114
|
+
protected get updateEvent(): string;
|
|
115
|
+
}
|
|
116
|
+
export declare abstract class PhysicsComponent extends Component {
|
|
117
|
+
protected get updateEvent(): string;
|
|
118
|
+
}
|
|
119
|
+
export declare abstract class TransformComponent extends Component {
|
|
120
|
+
protected get updateEvent(): string;
|
|
121
|
+
}
|
|
122
|
+
export declare abstract class PreRenderComponent extends Component {
|
|
123
|
+
protected get updateEvent(): string;
|
|
124
|
+
}
|
|
125
|
+
export declare abstract class CameraComponent extends Component {
|
|
126
|
+
protected get updateEvent(): string;
|
|
127
|
+
}
|
|
128
|
+
export declare abstract class RenderComponent extends Component {
|
|
129
|
+
protected get updateEvent(): string;
|
|
130
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
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
|
+
context2d?: Context2DConfig;
|
|
13
|
+
gameFrameRate?: number;
|
|
14
|
+
physicsFramerate?: number;
|
|
15
|
+
spriteDefaultScale?: Vector2 | null;
|
|
16
|
+
collisions?: {
|
|
17
|
+
method?: CollisionMethodConfig;
|
|
18
|
+
quadTreeBounds?: Rectangle | null;
|
|
19
|
+
quadMaxLevel?: number;
|
|
20
|
+
collidersPerQuad?: number;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export declare enum Context2DConfig {
|
|
24
|
+
Default = "default",
|
|
25
|
+
Disabled = "disabled",
|
|
26
|
+
Fallback = "fallback"
|
|
27
|
+
}
|
|
28
|
+
export declare enum CollisionMethodConfig {
|
|
29
|
+
AABB = "aabb",
|
|
30
|
+
SAT = "sat"
|
|
31
|
+
}
|
|
32
|
+
export declare class Game {
|
|
33
|
+
private sceneManager;
|
|
34
|
+
private renderManager;
|
|
35
|
+
private iterationManager;
|
|
36
|
+
private _config;
|
|
37
|
+
private _running;
|
|
38
|
+
private _stop;
|
|
39
|
+
private frameRequestId;
|
|
40
|
+
constructor(config: GameConfig);
|
|
41
|
+
private errorEventHandler;
|
|
42
|
+
private setupManagers;
|
|
43
|
+
/**
|
|
44
|
+
* @returns GameConfig
|
|
45
|
+
*/
|
|
46
|
+
get config(): GameConfig;
|
|
47
|
+
/**
|
|
48
|
+
* @returns running
|
|
49
|
+
*/
|
|
50
|
+
get running(): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Add a scene to the game
|
|
53
|
+
*
|
|
54
|
+
* @param name The name of the scene
|
|
55
|
+
* @param sceneFactory The factory funciton for the escene
|
|
56
|
+
* @param openingScene If this is the opening scene, set TRUE, FALSE instead
|
|
57
|
+
*/
|
|
58
|
+
addScene(name: string, sceneFactory: SceneFactory, openingScene?: boolean): void;
|
|
59
|
+
/**
|
|
60
|
+
* Run the game
|
|
61
|
+
*/
|
|
62
|
+
run(): void;
|
|
63
|
+
/**
|
|
64
|
+
* Stop the game
|
|
65
|
+
*/
|
|
66
|
+
stop(): void;
|
|
67
|
+
private gameLoop;
|
|
68
|
+
/**
|
|
69
|
+
* Pauses the game loop
|
|
70
|
+
*/
|
|
71
|
+
pauseLoop(): void;
|
|
72
|
+
/**
|
|
73
|
+
* Resumes the paused game loop
|
|
74
|
+
*/
|
|
75
|
+
resumeLoop(): void;
|
|
76
|
+
private requestAnimationFrame;
|
|
77
|
+
}
|