summaryrefslogtreecommitdiff
path: root/engine/config/sprites.ts
diff options
context:
space:
mode:
Diffstat (limited to 'engine/config/sprites.ts')
-rw-r--r--engine/config/sprites.ts35
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);