From 72c6c7de12e9833f52bf2d0718d70f044f8ab57e Mon Sep 17 00:00:00 2001 From: Elizabeth Hunt Date: Thu, 20 Jul 2023 20:47:32 -0700 Subject: a bit of refactoring; importing engine into bun for server --- engine/config/sprites.ts | 49 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 engine/config/sprites.ts (limited to 'engine/config/sprites.ts') diff --git a/engine/config/sprites.ts b/engine/config/sprites.ts new file mode 100644 index 0000000..18bec73 --- /dev/null +++ b/engine/config/sprites.ts @@ -0,0 +1,49 @@ +export enum Sprites { + FLOOR, + TRAMPOLINE, + COFFEE, +} + +export interface SpriteSpec { + sheet: string; + width: number; + height: number; + frames: number; + msPerFrame: number; + states?: Record>; +} + +export const SPRITE_SPECS: Map> = new Map< + Sprites, + SpriteSpec +>(); + +const floorSpriteSpec = { + height: 40, + frames: 3, + msPerFrame: 125, + states: {}, +}; +floorSpriteSpec.states = [40, 80, 120, 160].reduce((acc, cur) => { + acc[cur] = { + width: cur, + sheet: `/assets/floor_tile_${cur}.png`, + }; + return acc; +}, {}); +SPRITE_SPECS.set(Sprites.FLOOR, floorSpriteSpec); + +SPRITE_SPECS.set(Sprites.COFFEE, { + msPerFrame: 100, + width: 60, + height: 45, + frames: 3, + states: { + LEFT: { + sheet: "/assets/coffee_left.png", + }, + RIGHT: { + sheet: "/assets/coffee_right.png", + }, + }, +}); -- cgit v1.2.3-70-g09d2