diff options
author | Elizabeth Hunt <elizabeth.hunt@simponic.xyz> | 2023-07-20 20:47:32 -0700 |
---|---|---|
committer | Elizabeth Hunt <elizabeth.hunt@simponic.xyz> | 2023-07-20 20:47:32 -0700 |
commit | 72c6c7de12e9833f52bf2d0718d70f044f8ab57e (patch) | |
tree | 152f5f31d59011bb8c617bfbcfc44cc8f47ecad5 /client/lib/config | |
parent | 0fd9fb097552686f2257c1aa689d797e80057bd1 (diff) | |
download | jumpstorm-72c6c7de12e9833f52bf2d0718d70f044f8ab57e.tar.gz jumpstorm-72c6c7de12e9833f52bf2d0718d70f044f8ab57e.zip |
a bit of refactoring; importing engine into bun for server
Diffstat (limited to 'client/lib/config')
-rw-r--r-- | client/lib/config/assets.ts | 40 | ||||
-rw-r--r-- | client/lib/config/constants.ts | 34 | ||||
-rw-r--r-- | client/lib/config/index.ts | 3 | ||||
-rw-r--r-- | client/lib/config/sprites.ts | 49 |
4 files changed, 0 insertions, 126 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 - ]); diff --git a/client/lib/config/constants.ts b/client/lib/config/constants.ts deleted file mode 100644 index 27c8160..0000000 --- a/client/lib/config/constants.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { Action } from "../interfaces"; - -export namespace KeyConstants { - export const KeyActions: Record<string, Action> = { - a: Action.MOVE_LEFT, - ArrowLeft: Action.MOVE_LEFT, - d: Action.MOVE_RIGHT, - ArrowRight: Action.MOVE_RIGHT, - w: Action.JUMP, - ArrowUp: Action.JUMP, - }; - - export const ActionKeys: Map<Action, string[]> = Object.keys( - KeyActions - ).reduce((acc: Map<Action, string[]>, key) => { - const action = KeyActions[key]; - - if (acc.has(action)) { - acc.get(action).push(key); - return acc; - } - - acc.set(action, [key]); - return acc; - }, new Map<Action, string[]>()); -} - -export namespace PhysicsConstants { - export const MAX_JUMP_TIME_MS = 150; - export const GRAVITY = 0.0075; - export const PLAYER_MOVE_VEL = 1; - export const PLAYER_JUMP_ACC = -0.01; - export const PLAYER_JUMP_INITIAL_VEL = -0.9; -} diff --git a/client/lib/config/index.ts b/client/lib/config/index.ts deleted file mode 100644 index 7a1052a..0000000 --- a/client/lib/config/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from "./constants"; -export * from "./assets.ts"; -export * from "./sprites.ts"; diff --git a/client/lib/config/sprites.ts b/client/lib/config/sprites.ts deleted file mode 100644 index 18bec73..0000000 --- a/client/lib/config/sprites.ts +++ /dev/null @@ -1,49 +0,0 @@ -export enum Sprites { - FLOOR, - TRAMPOLINE, - COFFEE, -} - -export interface SpriteSpec { - sheet: string; - width: number; - height: number; - frames: number; - msPerFrame: number; - states?: Record<string | number, Partial<SpriteSpec>>; -} - -export const SPRITE_SPECS: Map<Sprites, Partial<SpriteSpec>> = 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", - }, - }, -}); |