summaryrefslogtreecommitdiff
path: root/engine/entities
diff options
context:
space:
mode:
authorElizabeth Hunt <elizabeth.hunt@simponic.xyz>2023-08-12 13:49:16 -0600
committerElizabeth Hunt <elizabeth.hunt@simponic.xyz>2023-08-12 13:49:16 -0600
commitc6e9baa0009f7cce0f6ff156a3957ef04a8cb684 (patch)
tree9766a4a33ad1c86aa71a5f92daf8917f3e5f5eed /engine/entities
parentb67ffb57c1bf6e9628339a3f43c71ccebdb46136 (diff)
downloadjumpstorm-c6e9baa0009f7cce0f6ff156a3957ef04a8cb684.tar.gz
jumpstorm-c6e9baa0009f7cce0f6ff156a3957ef04a8cb684.zip
the great engine refactor
Diffstat (limited to 'engine/entities')
-rw-r--r--engine/entities/Entity.ts1
-rw-r--r--engine/entities/Floor.ts14
-rw-r--r--engine/entities/Player.ts15
3 files changed, 16 insertions, 14 deletions
diff --git a/engine/entities/Entity.ts b/engine/entities/Entity.ts
index e57ccde..ca8d314 100644
--- a/engine/entities/Entity.ts
+++ b/engine/entities/Entity.ts
@@ -1,5 +1,4 @@
import type { Component } from "../components";
-import { ComponentNotFoundError } from "../exceptions";
export abstract class Entity {
private static ID = 0;
diff --git a/engine/entities/Floor.ts b/engine/entities/Floor.ts
index d51badc..44587e6 100644
--- a/engine/entities/Floor.ts
+++ b/engine/entities/Floor.ts
@@ -4,26 +4,28 @@ import { TopCollidable } from "../components/TopCollidable";
import { Entity } from "../entities";
export class Floor extends Entity {
- private static spriteSpec: SpriteSpec = SPRITE_SPECS.get(Sprites.FLOOR);
+ private static spriteSpec: SpriteSpec = SPRITE_SPECS.get(
+ Sprites.FLOOR,
+ ) as SpriteSpec;
constructor(width: number) {
super();
this.addComponent(
new Sprite(
- IMAGES.get(Floor.spriteSpec.states[width].sheet),
+ IMAGES.get((Floor.spriteSpec?.states?.get(width) as SpriteSpec).sheet),
{ x: 0, y: 0 },
{ width, height: Floor.spriteSpec.height },
Floor.spriteSpec.msPerFrame,
- Floor.spriteSpec.frames
- )
+ Floor.spriteSpec.frames,
+ ),
);
this.addComponent(
new BoundingBox(
{ x: 300, y: 300 },
- { width, height: Floor.spriteSpec.height }
- )
+ { width, height: Floor.spriteSpec.height },
+ ),
);
this.addComponent(new TopCollidable());
diff --git a/engine/entities/Player.ts b/engine/entities/Player.ts
index 0ba5a41..45d7500 100644
--- a/engine/entities/Player.ts
+++ b/engine/entities/Player.ts
@@ -14,14 +14,15 @@ import {
Mass,
Moment,
} from "../components";
-import { PhysicsConstants } from "../config";
import { Direction } from "../interfaces";
export class Player extends Entity {
private static MASS: number = 10;
private static MOI: number = 1000;
- private static spriteSpec: SpriteSpec = SPRITE_SPECS.get(Sprites.COFFEE);
+ private static spriteSpec: SpriteSpec = SPRITE_SPECS.get(
+ Sprites.COFFEE,
+ ) as SpriteSpec;
constructor() {
super();
@@ -30,8 +31,8 @@ export class Player extends Entity {
new BoundingBox(
{ x: 300, y: 100 },
{ width: Player.spriteSpec.width, height: Player.spriteSpec.height },
- 0
- )
+ 0,
+ ),
);
this.addComponent(new Velocity({ dx: 0, dy: 0 }, 0));
@@ -54,12 +55,12 @@ export class Player extends Entity {
const [leftSprite, rightSprite] = [Direction.LEFT, Direction.RIGHT].map(
(direction) =>
new Sprite(
- IMAGES.get(Player.spriteSpec.states[direction].sheet),
+ IMAGES.get(Player.spriteSpec.states?.get(direction)?.sheet as string),
{ x: 0, y: 0 },
{ width: Player.spriteSpec.width, height: Player.spriteSpec.height },
Player.spriteSpec.msPerFrame,
- Player.spriteSpec.frames
- )
+ Player.spriteSpec.frames,
+ ),
);
this.addComponent(new FacingDirection(leftSprite, rightSprite));