diff options
author | Elizabeth Hunt <elizabeth.hunt@simponic.xyz> | 2023-08-12 13:49:16 -0600 |
---|---|---|
committer | Elizabeth Hunt <elizabeth.hunt@simponic.xyz> | 2023-08-12 13:49:16 -0600 |
commit | c6e9baa0009f7cce0f6ff156a3957ef04a8cb684 (patch) | |
tree | 9766a4a33ad1c86aa71a5f92daf8917f3e5f5eed /engine/entities | |
parent | b67ffb57c1bf6e9628339a3f43c71ccebdb46136 (diff) | |
download | jumpstorm-c6e9baa0009f7cce0f6ff156a3957ef04a8cb684.tar.gz jumpstorm-c6e9baa0009f7cce0f6ff156a3957ef04a8cb684.zip |
the great engine refactor
Diffstat (limited to 'engine/entities')
-rw-r--r-- | engine/entities/Entity.ts | 1 | ||||
-rw-r--r-- | engine/entities/Floor.ts | 14 | ||||
-rw-r--r-- | engine/entities/Player.ts | 15 |
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)); |