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 /engine/config/constants.ts | |
parent | 0fd9fb097552686f2257c1aa689d797e80057bd1 (diff) | |
download | jumpstorm-72c6c7de12e9833f52bf2d0718d70f044f8ab57e.tar.gz jumpstorm-72c6c7de12e9833f52bf2d0718d70f044f8ab57e.zip |
a bit of refactoring; importing engine into bun for server
Diffstat (limited to 'engine/config/constants.ts')
-rw-r--r-- | engine/config/constants.ts | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/engine/config/constants.ts b/engine/config/constants.ts new file mode 100644 index 0000000..27c8160 --- /dev/null +++ b/engine/config/constants.ts @@ -0,0 +1,34 @@ +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; +} |