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/config/sprites.ts | |
parent | b67ffb57c1bf6e9628339a3f43c71ccebdb46136 (diff) | |
download | jumpstorm-c6e9baa0009f7cce0f6ff156a3957ef04a8cb684.tar.gz jumpstorm-c6e9baa0009f7cce0f6ff156a3957ef04a8cb684.zip |
the great engine refactor
Diffstat (limited to 'engine/config/sprites.ts')
-rw-r--r-- | engine/config/sprites.ts | 35 |
1 files changed, 17 insertions, 18 deletions
diff --git a/engine/config/sprites.ts b/engine/config/sprites.ts index 18bec73..1f65c18 100644 --- a/engine/config/sprites.ts +++ b/engine/config/sprites.ts @@ -10,7 +10,7 @@ export interface SpriteSpec { height: number; frames: number; msPerFrame: number; - states?: Record<string | number, Partial<SpriteSpec>>; + states?: Map<string | number, Partial<SpriteSpec>>; } export const SPRITE_SPECS: Map<Sprites, Partial<SpriteSpec>> = new Map< @@ -22,28 +22,27 @@ const floorSpriteSpec = { height: 40, frames: 3, msPerFrame: 125, - states: {}, + states: new Map<number, Partial<SpriteSpec>>(), }; -floorSpriteSpec.states = [40, 80, 120, 160].reduce((acc, cur) => { - acc[cur] = { - width: cur, - sheet: `/assets/floor_tile_${cur}.png`, - }; - return acc; -}, {}); +[40, 80, 120, 160].forEach((width) => { + floorSpriteSpec.states.set(width, { + width, + sheet: `/assets/floor_tile_${width}.png`, + }); +}); SPRITE_SPECS.set(Sprites.FLOOR, floorSpriteSpec); -SPRITE_SPECS.set(Sprites.COFFEE, { +const coffeeSpriteSpec = { msPerFrame: 100, width: 60, height: 45, frames: 3, - states: { - LEFT: { - sheet: "/assets/coffee_left.png", - }, - RIGHT: { - sheet: "/assets/coffee_right.png", - }, - }, + states: new Map<string, Partial<SpriteSpec>>(), +}; +coffeeSpriteSpec.states.set("LEFT", { + sheet: "/assets/coffee_left.png", +}); +coffeeSpriteSpec.states.set("RIGHT", { + sheet: "/assets/coffee_right.png", }); +SPRITE_SPECS.set(Sprites.COFFEE, coffeeSpriteSpec); |