From c6e9baa0009f7cce0f6ff156a3957ef04a8cb684 Mon Sep 17 00:00:00 2001 From: Elizabeth Hunt Date: Sat, 12 Aug 2023 13:49:16 -0600 Subject: the great engine refactor --- engine/config/sprites.ts | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) (limited to 'engine/config/sprites.ts') 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>; + states?: Map>; } export const SPRITE_SPECS: Map> = new Map< @@ -22,28 +22,27 @@ const floorSpriteSpec = { height: 40, frames: 3, msPerFrame: 125, - states: {}, + states: new Map>(), }; -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>(), +}; +coffeeSpriteSpec.states.set("LEFT", { + sheet: "/assets/coffee_left.png", +}); +coffeeSpriteSpec.states.set("RIGHT", { + sheet: "/assets/coffee_right.png", }); +SPRITE_SPECS.set(Sprites.COFFEE, coffeeSpriteSpec); -- cgit v1.2.3-70-g09d2