diff options
Diffstat (limited to 'client/lib/config/assets.ts')
-rw-r--r-- | client/lib/config/assets.ts | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/client/lib/config/assets.ts b/client/lib/config/assets.ts deleted file mode 100644 index 51a5303..0000000 --- a/client/lib/config/assets.ts +++ /dev/null @@ -1,40 +0,0 @@ -import type { SpriteSpec } from "./sprites"; -import { SPRITE_SPECS } from "./sprites"; - -export const IMAGES = new Map<string, HTMLImageElement>(); - -export const loadSpritesIntoImageElements = ( - spriteSpecs: Partial<SpriteSpec>[] -): Promise<void>[] => { - const spritePromises: Promise<void>[] = []; - - for (const spriteSpec of spriteSpecs) { - if (spriteSpec.sheet) { - const img = new Image(); - img.src = spriteSpec.sheet; - IMAGES.set(spriteSpec.sheet, img); - - spritePromises.push( - new Promise((resolve) => { - img.onload = () => resolve(); - }) - ); - } - - if (spriteSpec.states) { - spritePromises.push( - ...loadSpritesIntoImageElements(Object.values(spriteSpec.states)) - ); - } - } - - return spritePromises; -}; - -export const loadAssets = () => - Promise.all([ - ...loadSpritesIntoImageElements( - Array.from(SPRITE_SPECS.keys()).map((key) => SPRITE_SPECS.get(key)) - ), - // TODO: Sound - ]); |