From 773ce84f4bf559337e132edd7fcce02a0a2598fd Mon Sep 17 00:00:00 2001 From: Elizabeth Hunt Date: Fri, 25 Aug 2023 16:48:17 -0600 Subject: prettier formatting --- engine/Game.ts | 10 ++-- engine/components/BoundingBox.ts | 22 ++++----- engine/components/Collide.ts | 2 +- engine/components/Control.ts | 4 +- engine/components/FacingDirection.ts | 2 +- engine/components/Forces.ts | 6 +-- engine/components/Gravity.ts | 4 +- engine/components/Jump.ts | 2 +- engine/components/Mass.ts | 2 +- engine/components/Moment.ts | 2 +- engine/components/NetworkUpdateable.ts | 2 +- engine/components/Sprite.ts | 20 ++++---- engine/components/TopCollidable.ts | 2 +- engine/components/Velocity.ts | 8 ++-- engine/components/WallBounded.ts | 2 +- engine/components/index.ts | 32 ++++++------- engine/components/names.ts | 28 +++++------ engine/config/assets.ts | 16 +++---- engine/config/constants.ts | 6 ++- engine/config/index.ts | 6 +-- engine/config/sprites.ts | 16 +++---- engine/entities/Entity.ts | 12 +++-- engine/entities/Floor.ts | 24 +++------- engine/entities/Player.ts | 24 +++++----- engine/entities/index.ts | 8 ++-- engine/entities/names.ts | 4 +- engine/interfaces/Action.ts | 2 +- engine/interfaces/Direction.ts | 8 ++-- engine/interfaces/Draw.ts | 2 +- engine/interfaces/index.ts | 8 ++-- engine/network/index.ts | 6 +-- engine/structures/Grid.ts | 16 +++---- engine/structures/QuadTree.ts | 22 ++++----- .../RefreshingCollisionFinderBehavior.ts | 10 ++-- engine/structures/index.ts | 6 +-- engine/systems/Collision.ts | 54 +++++++++++----------- engine/systems/FacingDirection.ts | 14 +++--- engine/systems/Input.ts | 20 ++++---- engine/systems/NetworkUpdate.ts | 16 +++---- engine/systems/Physics.ts | 32 ++++++------- engine/systems/Render.ts | 16 +++---- engine/systems/System.ts | 2 +- engine/systems/WallBounds.ts | 20 ++++---- engine/systems/index.ts | 18 ++++---- engine/systems/names.ts | 14 +++--- engine/utils/coding.ts | 8 ++-- engine/utils/dotProduct.ts | 2 +- engine/utils/index.ts | 8 ++-- engine/utils/rotateVector.ts | 4 +- 49 files changed, 284 insertions(+), 290 deletions(-) (limited to 'engine') diff --git a/engine/Game.ts b/engine/Game.ts index 301c8df..cdd3507 100644 --- a/engine/Game.ts +++ b/engine/Game.ts @@ -1,5 +1,5 @@ -import { Entity } from "./entities"; -import { System } from "./systems"; +import { Entity } from './entities'; +import { System } from './systems'; export class Game { private systemOrder: string[]; @@ -39,7 +39,7 @@ export class Game { public forEachEntityWithComponent( componentName: string, - callback: (entity: Entity) => void, + callback: (entity: Entity) => void ) { this.componentEntities.get(componentName)?.forEach((entityId) => { const entity = this.getEntity(entityId); @@ -75,12 +75,12 @@ export class Game { if (!this.componentEntities.has(component.name)) { this.componentEntities.set( component.name, - new Set([entity.id]), + new Set([entity.id]) ); return; } this.componentEntities.get(component.name)?.add(entity.id); - }), + }) ); this.systemOrder.forEach((systemName) => { diff --git a/engine/components/BoundingBox.ts b/engine/components/BoundingBox.ts index 26b404d..dbe083e 100644 --- a/engine/components/BoundingBox.ts +++ b/engine/components/BoundingBox.ts @@ -1,6 +1,6 @@ -import { Component, ComponentNames } from "."; -import type { Coord2D, Dimension2D } from "../interfaces"; -import { dotProduct, rotateVector } from "../utils"; +import { Component, ComponentNames } from '.'; +import type { Coord2D, Dimension2D } from '../interfaces'; +import { dotProduct, rotateVector } from '../utils'; export class BoundingBox extends Component { public center: Coord2D; @@ -48,8 +48,8 @@ export class BoundingBox extends Component { const projection = dotProduct(normal, vertex); return [Math.min(min, projection), Math.max(max, projection)]; }, - [Infinity, -Infinity], - ), + [Infinity, -Infinity] + ) ); if (maxThis < minBox || maxBox < minThis) return false; @@ -64,14 +64,14 @@ export class BoundingBox extends Component { { x: -this.dimension.width / 2, y: -this.dimension.height / 2 }, { x: -this.dimension.width / 2, y: this.dimension.height / 2 }, { x: this.dimension.width / 2, y: this.dimension.height / 2 }, - { x: this.dimension.width / 2, y: -this.dimension.height / 2 }, + { x: this.dimension.width / 2, y: -this.dimension.height / 2 } ] .map((vertex) => rotateVector(vertex, this.rotation)) // rotate .map((vertex) => { // translate return { x: vertex.x + this.center.x, - y: vertex.y + this.center.y, + y: vertex.y + this.center.y }; }); } @@ -92,28 +92,28 @@ export class BoundingBox extends Component { if (rads <= Math.PI / 2) { return { width: Math.abs(height * Math.sin(rads) + width * Math.cos(rads)), - height: Math.abs(width * Math.sin(rads) + height * Math.cos(rads)), + height: Math.abs(width * Math.sin(rads) + height * Math.cos(rads)) }; } rads -= Math.PI / 2; return { width: Math.abs(height * Math.cos(rads) + width * Math.sin(rads)), - height: Math.abs(width * Math.cos(rads) + height * Math.sin(rads)), + height: Math.abs(width * Math.cos(rads) + height * Math.sin(rads)) }; } public getTopLeft(): Coord2D { return { x: this.center.x - this.dimension.width / 2, - y: this.center.y - this.dimension.height / 2, + y: this.center.y - this.dimension.height / 2 }; } public getBottomRight(): Coord2D { return { x: this.center.x + this.dimension.width / 2, - y: this.center.y + this.dimension.height / 2, + y: this.center.y + this.dimension.height / 2 }; } } diff --git a/engine/components/Collide.ts b/engine/components/Collide.ts index 889ecf8..ed72b92 100644 --- a/engine/components/Collide.ts +++ b/engine/components/Collide.ts @@ -1,4 +1,4 @@ -import { Component, ComponentNames } from "."; +import { Component, ComponentNames } from '.'; export class Collide extends Component { constructor() { diff --git a/engine/components/Control.ts b/engine/components/Control.ts index a8dae59..beec82c 100644 --- a/engine/components/Control.ts +++ b/engine/components/Control.ts @@ -1,4 +1,4 @@ -import { Component, ComponentNames, Velocity } from "."; +import { Component, ComponentNames, Velocity } from '.'; export class Control extends Component { public controlVelocityComponent: Velocity; @@ -6,7 +6,7 @@ export class Control extends Component { constructor( controllableBy: string, - controlVelocityComponent: Velocity = new Velocity(), + controlVelocityComponent: Velocity = new Velocity() ) { super(ComponentNames.Control); diff --git a/engine/components/FacingDirection.ts b/engine/components/FacingDirection.ts index 1c701a3..8c2a9d2 100644 --- a/engine/components/FacingDirection.ts +++ b/engine/components/FacingDirection.ts @@ -1,4 +1,4 @@ -import { Component, ComponentNames, Sprite } from "."; +import { Component, ComponentNames, Sprite } from '.'; export class FacingDirection extends Component { public readonly facingLeftSprite: Sprite; diff --git a/engine/components/Forces.ts b/engine/components/Forces.ts index 91ae1c1..e397985 100644 --- a/engine/components/Forces.ts +++ b/engine/components/Forces.ts @@ -1,6 +1,6 @@ -import type { Force2D } from "../interfaces"; -import { Component } from "./Component"; -import { ComponentNames } from "."; +import type { Force2D } from '../interfaces'; +import { Component } from './Component'; +import { ComponentNames } from '.'; /** * A list of forces and torque, (in newtons, and newton-meters respectively) diff --git a/engine/components/Gravity.ts b/engine/components/Gravity.ts index 89fcb67..dd6dd2e 100644 --- a/engine/components/Gravity.ts +++ b/engine/components/Gravity.ts @@ -1,7 +1,7 @@ -import { ComponentNames, Component } from "."; +import { ComponentNames, Component } from '.'; export class Gravity extends Component { - private static DEFAULT_TERMINAL_VELOCITY = 5; + private static DEFAULT_TERMINAL_VELOCITY = 4.5; public terminalVelocity: number; diff --git a/engine/components/Jump.ts b/engine/components/Jump.ts index 0b40767..6cbfb08 100644 --- a/engine/components/Jump.ts +++ b/engine/components/Jump.ts @@ -1,4 +1,4 @@ -import { Component, ComponentNames } from "."; +import { Component, ComponentNames } from '.'; export class Jump extends Component { public canJump: boolean; diff --git a/engine/components/Mass.ts b/engine/components/Mass.ts index daa2d71..a7f98fd 100644 --- a/engine/components/Mass.ts +++ b/engine/components/Mass.ts @@ -1,4 +1,4 @@ -import { Component, ComponentNames } from "."; +import { Component, ComponentNames } from '.'; export class Mass extends Component { public mass: number; diff --git a/engine/components/Moment.ts b/engine/components/Moment.ts index 3d0dd2f..cd76294 100644 --- a/engine/components/Moment.ts +++ b/engine/components/Moment.ts @@ -1,4 +1,4 @@ -import { Component, ComponentNames } from "."; +import { Component, ComponentNames } from '.'; export class Moment extends Component { public inertia: number; diff --git a/engine/components/NetworkUpdateable.ts b/engine/components/NetworkUpdateable.ts index 980b064..7fb6d18 100644 --- a/engine/components/NetworkUpdateable.ts +++ b/engine/components/NetworkUpdateable.ts @@ -1,4 +1,4 @@ -import { Component, ComponentNames } from "."; +import { Component, ComponentNames } from '.'; export class NetworkUpdateable extends Component { public isPublish: boolean; diff --git a/engine/components/Sprite.ts b/engine/components/Sprite.ts index bdb4982..36b944e 100644 --- a/engine/components/Sprite.ts +++ b/engine/components/Sprite.ts @@ -1,5 +1,5 @@ -import { Component, ComponentNames } from "."; -import type { Dimension2D, DrawArgs, Coord2D } from "../interfaces"; +import { Component, ComponentNames } from '.'; +import type { Dimension2D, DrawArgs, Coord2D } from '../interfaces'; export class Sprite extends Component { private sheet: HTMLImageElement; @@ -17,7 +17,7 @@ export class Sprite extends Component { spriteImgPos: Coord2D, spriteImgDimensions: Dimension2D, msPerFrame: number, - numFrames: number, + numFrames: number ) { super(ComponentNames.Sprite); @@ -56,12 +56,12 @@ export class Sprite extends Component { ctx.drawImage( this.sheet, ...this.getSpriteArgs(), - ...this.getDrawArgs(drawArgs), + ...this.getDrawArgs(drawArgs) ); if (tint) { ctx.globalAlpha = 0.5; - ctx.globalCompositeOperation = "source-atop"; + ctx.globalCompositeOperation = 'source-atop'; ctx.fillStyle = tint; ctx.fillRect(...this.getDrawArgs(drawArgs)); } @@ -74,19 +74,23 @@ export class Sprite extends Component { this.spriteImgPos.x + this.currentFrame * this.spriteImgDimensions.width, this.spriteImgPos.y, this.spriteImgDimensions.width, - this.spriteImgDimensions.height, + this.spriteImgDimensions.height ]; } private getDrawArgs({ center, - dimension, + dimension }: DrawArgs): [dx: number, dy: number, dw: number, dh: number] { return [ center.x - dimension.width / 2, center.y - dimension.height / 2, dimension.width, - dimension.height, + dimension.height ]; } + + public getSpriteDimensions() { + return this.spriteImgDimensions; + } } diff --git a/engine/components/TopCollidable.ts b/engine/components/TopCollidable.ts index 7fb147d..05ce484 100644 --- a/engine/components/TopCollidable.ts +++ b/engine/components/TopCollidable.ts @@ -1,4 +1,4 @@ -import { Component, ComponentNames } from "."; +import { Component, ComponentNames } from '.'; export class TopCollidable extends Component { constructor() { diff --git a/engine/components/Velocity.ts b/engine/components/Velocity.ts index aec0c03..0071891 100644 --- a/engine/components/Velocity.ts +++ b/engine/components/Velocity.ts @@ -1,12 +1,12 @@ -import type { Velocity2D } from "../interfaces"; -import { Component } from "./Component"; -import { ComponentNames } from "."; +import type { Velocity2D } from '../interfaces'; +import { Component } from './Component'; +import { ComponentNames } from '.'; export class Velocity extends Component { public velocity: Velocity2D; constructor( - velocity: Velocity2D = { dCartesian: { dx: 0, dy: 0 }, dTheta: 0 }, + velocity: Velocity2D = { dCartesian: { dx: 0, dy: 0 }, dTheta: 0 } ) { super(ComponentNames.Velocity); diff --git a/engine/components/WallBounded.ts b/engine/components/WallBounded.ts index 5f787e1..c1745a8 100644 --- a/engine/components/WallBounded.ts +++ b/engine/components/WallBounded.ts @@ -1,4 +1,4 @@ -import { Component, ComponentNames } from "."; +import { Component, ComponentNames } from '.'; export class WallBounded extends Component { constructor() { diff --git a/engine/components/index.ts b/engine/components/index.ts index 90f4965..6d7c1e5 100644 --- a/engine/components/index.ts +++ b/engine/components/index.ts @@ -1,16 +1,16 @@ -export * from "./Component"; -export * from "./BoundingBox"; -export * from "./Velocity"; -export * from "./Forces"; -export * from "./Sprite"; -export * from "./FacingDirection"; -export * from "./Jump"; -export * from "./TopCollidable"; -export * from "./Collide"; -export * from "./Control"; -export * from "./WallBounded"; -export * from "./Gravity"; -export * from "./Mass"; -export * from "./Moment"; -export * from "./NetworkUpdateable"; -export * from "./names"; +export * from './Component'; +export * from './BoundingBox'; +export * from './Velocity'; +export * from './Forces'; +export * from './Sprite'; +export * from './FacingDirection'; +export * from './Jump'; +export * from './TopCollidable'; +export * from './Collide'; +export * from './Control'; +export * from './WallBounded'; +export * from './Gravity'; +export * from './Mass'; +export * from './Moment'; +export * from './NetworkUpdateable'; +export * from './names'; diff --git a/engine/components/names.ts b/engine/components/names.ts index 02ee064..97b4edd 100644 --- a/engine/components/names.ts +++ b/engine/components/names.ts @@ -1,16 +1,16 @@ export namespace ComponentNames { - export const Sprite = "Sprite"; - export const BoundingBox = "BoundingBox"; - export const Velocity = "Velocity"; - export const FacingDirection = "FacingDirection"; - export const Control = "Control"; - export const Jump = "Jump"; - export const TopCollidable = "TopCollidable"; - export const Collide = "Collide"; - export const WallBounded = "WallBounded"; - export const Gravity = "Gravity"; - export const Forces = "Forces"; - export const Mass = "Mass"; - export const Moment = "Moment"; - export const NetworkUpdateable = "NetworkUpdateable"; + export const Sprite = 'Sprite'; + export const BoundingBox = 'BoundingBox'; + export const Velocity = 'Velocity'; + export const FacingDirection = 'FacingDirection'; + export const Control = 'Control'; + export const Jump = 'Jump'; + export const TopCollidable = 'TopCollidable'; + export const Collide = 'Collide'; + export const WallBounded = 'WallBounded'; + export const Gravity = 'Gravity'; + export const Forces = 'Forces'; + export const Mass = 'Mass'; + export const Moment = 'Moment'; + export const NetworkUpdateable = 'NetworkUpdateable'; } diff --git a/engine/config/assets.ts b/engine/config/assets.ts index 173bab3..289f181 100644 --- a/engine/config/assets.ts +++ b/engine/config/assets.ts @@ -1,10 +1,10 @@ -import type { SpriteSpec } from "./sprites"; -import { SPRITE_SPECS } from "./sprites"; +import type { SpriteSpec } from './sprites'; +import { SPRITE_SPECS } from './sprites'; export const IMAGES = new Map(); export const loadSpritesIntoImageElements = ( - spriteSpecs: Partial[], + spriteSpecs: Partial[] ): Promise[] => { const spritePromises: Promise[] = []; @@ -17,13 +17,13 @@ export const loadSpritesIntoImageElements = ( spritePromises.push( new Promise((resolve) => { img.onload = () => resolve(); - }), + }) ); } if (spriteSpec.states) { spritePromises.push( - ...loadSpritesIntoImageElements(Array.from(spriteSpec.states.values())), + ...loadSpritesIntoImageElements(Array.from(spriteSpec.states.values())) ); } } @@ -35,8 +35,8 @@ export const loadAssets = () => Promise.all([ ...loadSpritesIntoImageElements( Array.from(SPRITE_SPECS.keys()).map( - (key) => SPRITE_SPECS.get(key) as SpriteSpec, - ), - ), + (key) => SPRITE_SPECS.get(key) as SpriteSpec + ) + ) // TODO: Sound ]); diff --git a/engine/config/constants.ts b/engine/config/constants.ts index e93986b..45b0301 100644 --- a/engine/config/constants.ts +++ b/engine/config/constants.ts @@ -1,4 +1,4 @@ -import { Action } from "../interfaces"; +import { Action } from '../interfaces'; export namespace KeyConstants { export const KeyActions: Record = { @@ -10,11 +10,13 @@ export namespace KeyConstants { w: Action.JUMP, ArrowUp: Action.JUMP, + + ' ': Action.JUMP }; // value -> [key] from KeyActions export const ActionKeys: Map = Object.keys( - KeyActions, + KeyActions ).reduce((acc: Map, key) => { const action = KeyActions[key]; diff --git a/engine/config/index.ts b/engine/config/index.ts index 7a1052a..03b2246 100644 --- a/engine/config/index.ts +++ b/engine/config/index.ts @@ -1,3 +1,3 @@ -export * from "./constants"; -export * from "./assets.ts"; -export * from "./sprites.ts"; +export * from './constants'; +export * from './assets.ts'; +export * from './sprites.ts'; diff --git a/engine/config/sprites.ts b/engine/config/sprites.ts index 1f65c18..e5fcd31 100644 --- a/engine/config/sprites.ts +++ b/engine/config/sprites.ts @@ -1,7 +1,7 @@ export enum Sprites { FLOOR, TRAMPOLINE, - COFFEE, + COFFEE } export interface SpriteSpec { @@ -22,12 +22,12 @@ const floorSpriteSpec = { height: 40, frames: 3, msPerFrame: 125, - states: new Map>(), + states: new Map>() }; [40, 80, 120, 160].forEach((width) => { floorSpriteSpec.states.set(width, { width, - sheet: `/assets/floor_tile_${width}.png`, + sheet: `/assets/floor_tile_${width}.png` }); }); SPRITE_SPECS.set(Sprites.FLOOR, floorSpriteSpec); @@ -37,12 +37,12 @@ const coffeeSpriteSpec = { width: 60, height: 45, frames: 3, - states: new Map>(), + states: new Map>() }; -coffeeSpriteSpec.states.set("LEFT", { - sheet: "/assets/coffee_left.png", +coffeeSpriteSpec.states.set('LEFT', { + sheet: '/assets/coffee_left.png' }); -coffeeSpriteSpec.states.set("RIGHT", { - sheet: "/assets/coffee_right.png", +coffeeSpriteSpec.states.set('RIGHT', { + sheet: '/assets/coffee_right.png' }); SPRITE_SPECS.set(Sprites.COFFEE, coffeeSpriteSpec); diff --git a/engine/entities/Entity.ts b/engine/entities/Entity.ts index 88982cb..b016fc0 100644 --- a/engine/entities/Entity.ts +++ b/engine/entities/Entity.ts @@ -1,5 +1,5 @@ -import { EntityNames, Player } from "."; -import type { Component } from "../components"; +import { EntityNames, Player } from '.'; +import type { Component } from '../components'; export abstract class Entity { public id: string; @@ -18,7 +18,7 @@ export abstract class Entity { public getComponent(name: string): T { if (!this.hasComponent(name)) { - throw new Error("Entity does not have component " + name); + throw new Error('Entity does not have component ' + name); } return this.components.get(name) as T; } @@ -34,9 +34,11 @@ export abstract class Entity { static from(entityName: string, args: any): Entity { switch (entityName) { case EntityNames.Player: - return new Player(args.playerId); + const player = new Player(args.playerId); + player.id = args.id; + return player; default: - throw new Error(".from() Entity type not implemented: " + entityName); + throw new Error('.from() Entity type not implemented: ' + entityName); } } } diff --git a/engine/entities/Floor.ts b/engine/entities/Floor.ts index 6cfc276..6f9b13b 100644 --- a/engine/entities/Floor.ts +++ b/engine/entities/Floor.ts @@ -1,11 +1,11 @@ -import { IMAGES, SPRITE_SPECS, Sprites, type SpriteSpec } from "../config"; -import { BoundingBox, Sprite } from "../components"; -import { TopCollidable } from "../components/TopCollidable"; -import { Entity, EntityNames } from "../entities"; +import { IMAGES, SPRITE_SPECS, Sprites, type SpriteSpec } from '../config'; +import { BoundingBox, Sprite } from '../components'; +import { TopCollidable } from '../components/TopCollidable'; +import { Entity, EntityNames } from '../entities'; export class Floor extends Entity { private static spriteSpec: SpriteSpec = SPRITE_SPECS.get( - Sprites.FLOOR, + Sprites.FLOOR ) as SpriteSpec; constructor(width: number) { @@ -17,18 +17,8 @@ export class Floor extends Entity { { x: 0, y: 0 }, { width, height: Floor.spriteSpec.height }, Floor.spriteSpec.msPerFrame, - Floor.spriteSpec.frames, - ), - ); - - this.addComponent( - new BoundingBox( - { - x: 300, - y: 300, - }, - { width, height: Floor.spriteSpec.height }, - ), + Floor.spriteSpec.frames + ) ); this.addComponent(new TopCollidable()); diff --git a/engine/entities/Player.ts b/engine/entities/Player.ts index cfe4dd2..947fbd6 100644 --- a/engine/entities/Player.ts +++ b/engine/entities/Player.ts @@ -1,5 +1,5 @@ -import { Entity, EntityNames } from "."; -import { IMAGES, SPRITE_SPECS, Sprites, type SpriteSpec } from "../config"; +import { Entity, EntityNames } from '.'; +import { IMAGES, SPRITE_SPECS, Sprites, type SpriteSpec } from '../config'; import { Jump, FacingDirection, @@ -12,16 +12,16 @@ import { Collide, Control, Mass, - Moment, -} from "../components"; -import { Direction } from "../interfaces"; + Moment +} from '../components'; +import { Direction } from '../interfaces'; export class Player extends Entity { private static MASS: number = 10; private static MOI: number = 100; private static spriteSpec: SpriteSpec = SPRITE_SPECS.get( - Sprites.COFFEE, + Sprites.COFFEE ) as SpriteSpec; constructor(playerId: string) { @@ -31,15 +31,15 @@ export class Player extends Entity { new BoundingBox( { x: 300, - y: 100, + y: 100 }, { width: Player.spriteSpec.width, height: Player.spriteSpec.height }, - 0, - ), + 0 + ) ); this.addComponent( - new Velocity({ dCartesian: { dx: 0, dy: 0 }, dTheta: 0 }), + new Velocity({ dCartesian: { dx: 0, dy: 0 }, dTheta: 0 }) ); this.addComponent(new Mass(Player.MASS)); @@ -64,8 +64,8 @@ export class Player extends Entity { { x: 0, y: 0 }, { width: Player.spriteSpec.width, height: Player.spriteSpec.height }, Player.spriteSpec.msPerFrame, - Player.spriteSpec.frames, - ), + Player.spriteSpec.frames + ) ); this.addComponent(new FacingDirection(leftSprite, rightSprite)); diff --git a/engine/entities/index.ts b/engine/entities/index.ts index dd3dba9..8aee83c 100644 --- a/engine/entities/index.ts +++ b/engine/entities/index.ts @@ -1,4 +1,4 @@ -export * from "./Entity"; -export * from "./Floor"; -export * from "./Player"; -export * from "./names"; +export * from './Entity'; +export * from './Floor'; +export * from './Player'; +export * from './names'; diff --git a/engine/entities/names.ts b/engine/entities/names.ts index 21594c8..cf65f9f 100644 --- a/engine/entities/names.ts +++ b/engine/entities/names.ts @@ -1,4 +1,4 @@ export namespace EntityNames { - export const Player = "Player"; - export const Floor = "Floor"; + export const Player = 'Player'; + export const Floor = 'Floor'; } diff --git a/engine/interfaces/Action.ts b/engine/interfaces/Action.ts index 61c89e1..f0e6a66 100644 --- a/engine/interfaces/Action.ts +++ b/engine/interfaces/Action.ts @@ -1,5 +1,5 @@ export enum Action { MOVE_LEFT, MOVE_RIGHT, - JUMP, + JUMP } diff --git a/engine/interfaces/Direction.ts b/engine/interfaces/Direction.ts index 0bc6ef3..af1c7ac 100644 --- a/engine/interfaces/Direction.ts +++ b/engine/interfaces/Direction.ts @@ -1,6 +1,6 @@ export enum Direction { - UP = "UP", - DOWN = "DOWN", - LEFT = "LEFT", - RIGHT = "RIGHT", + UP = 'UP', + DOWN = 'DOWN', + LEFT = 'LEFT', + RIGHT = 'RIGHT' } diff --git a/engine/interfaces/Draw.ts b/engine/interfaces/Draw.ts index 6561a01..8479fe4 100644 --- a/engine/interfaces/Draw.ts +++ b/engine/interfaces/Draw.ts @@ -1,4 +1,4 @@ -import type { Coord2D, Dimension2D } from "./"; +import type { Coord2D, Dimension2D } from './'; export interface DrawArgs { center: Coord2D; diff --git a/engine/interfaces/index.ts b/engine/interfaces/index.ts index 8cdf4d8..c2f6896 100644 --- a/engine/interfaces/index.ts +++ b/engine/interfaces/index.ts @@ -1,4 +1,4 @@ -export * from "./Vec2"; -export * from "./Draw"; -export * from "./Direction"; -export * from "./Action"; +export * from './Vec2'; +export * from './Draw'; +export * from './Direction'; +export * from './Action'; diff --git a/engine/network/index.ts b/engine/network/index.ts index 1726ffc..1bf95fb 100644 --- a/engine/network/index.ts +++ b/engine/network/index.ts @@ -1,7 +1,7 @@ export enum MessageType { - NEW_ENTITY = "NEW_ENTITY", - REMOVE_ENTITY = "REMOVE_ENTITY", - UPDATE_ENTITY = "UPDATE_ENTITY", + NEW_ENTITIES = 'NEW_ENTITIES', + REMOVE_ENTITIES = 'REMOVE_ENTITIES', + UPDATE_ENTITY = 'UPDATE_ENTITY' } export type EntityAddBody = { diff --git a/engine/structures/Grid.ts b/engine/structures/Grid.ts index 6e8c0cb..5f0e053 100644 --- a/engine/structures/Grid.ts +++ b/engine/structures/Grid.ts @@ -1,6 +1,6 @@ -import type { Coord2D, Dimension2D } from "../interfaces"; -import type { BoxedEntry, RefreshingCollisionFinderBehavior } from "."; -import { Miscellaneous } from "../config/constants"; +import type { Coord2D, Dimension2D } from '../interfaces'; +import type { BoxedEntry, RefreshingCollisionFinderBehavior } from '.'; +import { Miscellaneous } from '../config/constants'; export class Grid implements RefreshingCollisionFinderBehavior { private cellEntities: Map; @@ -12,11 +12,11 @@ export class Grid implements RefreshingCollisionFinderBehavior { constructor( gridDimension: Dimension2D = { width: Miscellaneous.WIDTH, - height: Miscellaneous.HEIGHT, + height: Miscellaneous.HEIGHT }, cellDimension: Dimension2D = { width: Miscellaneous.DEFAULT_GRID_WIDTH, - height: Miscellaneous.DEFAULT_GRID_HEIGHT, + height: Miscellaneous.DEFAULT_GRID_HEIGHT }, topLeft = { x: 0, y: 0 } ) { @@ -73,7 +73,7 @@ export class Grid implements RefreshingCollisionFinderBehavior { const translated: Coord2D = { y: center.y - this.topLeft.y, - x: center.x - this.topLeft.x, + x: center.x - this.topLeft.x }; const topLeftBox = { @@ -82,7 +82,7 @@ export class Grid implements RefreshingCollisionFinderBehavior { ), y: Math.floor( (translated.y - dimension.height / 2) / this.cellDimension.height - ), + ) }; const bottomRightBox = { x: Math.floor( @@ -90,7 +90,7 @@ export class Grid implements RefreshingCollisionFinderBehavior { ), y: Math.floor( (translated.y + dimension.height / 2) / this.cellDimension.height - ), + ) }; const cells: number[] = []; diff --git a/engine/structures/QuadTree.ts b/engine/structures/QuadTree.ts index 1ab2d1d..93702d0 100644 --- a/engine/structures/QuadTree.ts +++ b/engine/structures/QuadTree.ts @@ -1,11 +1,11 @@ -import type { Coord2D, Dimension2D } from "../interfaces"; -import type { BoxedEntry, RefreshingCollisionFinderBehavior } from "."; +import type { Coord2D, Dimension2D } from '../interfaces'; +import type { BoxedEntry, RefreshingCollisionFinderBehavior } from '.'; enum Quadrant { I, II, III, - IV, + IV } /* @@ -102,8 +102,8 @@ export class QuadTree implements RefreshingCollisionFinderBehavior { [Quadrant.III, { x: this.topLeft.x, y: this.topLeft.y + halfHeight }], [ Quadrant.IV, - { x: this.topLeft.x + halfWidth, y: this.topLeft.y + halfHeight }, - ], + { x: this.topLeft.x + halfWidth, y: this.topLeft.y + halfHeight } + ] ] as [Quadrant, Coord2D][] ).forEach(([quadrant, pos]) => { this.children.set( @@ -122,27 +122,27 @@ export class QuadTree implements RefreshingCollisionFinderBehavior { private getQuadrants(boxedEntry: BoxedEntry): Quadrant[] { const treeCenter: Coord2D = { x: this.topLeft.x + this.dimension.width / 2, - y: this.topLeft.y + this.dimension.height / 2, + y: this.topLeft.y + this.dimension.height / 2 }; return ( [ [ Quadrant.I, - (x: number, y: number) => x >= treeCenter.x && y < treeCenter.y, + (x: number, y: number) => x >= treeCenter.x && y < treeCenter.y ], [ Quadrant.II, - (x: number, y: number) => x < treeCenter.x && y < treeCenter.y, + (x: number, y: number) => x < treeCenter.x && y < treeCenter.y ], [ Quadrant.III, - (x: number, y: number) => x < treeCenter.x && y >= treeCenter.y, + (x: number, y: number) => x < treeCenter.x && y >= treeCenter.y ], [ Quadrant.IV, - (x: number, y: number) => x >= treeCenter.x && y >= treeCenter.y, - ], + (x: number, y: number) => x >= treeCenter.x && y >= treeCenter.y + ] ] as [Quadrant, (x: number, y: number) => boolean][] ) .filter( diff --git a/engine/structures/RefreshingCollisionFinderBehavior.ts b/engine/structures/RefreshingCollisionFinderBehavior.ts index 21d690d..573ddd8 100644 --- a/engine/structures/RefreshingCollisionFinderBehavior.ts +++ b/engine/structures/RefreshingCollisionFinderBehavior.ts @@ -1,4 +1,4 @@ -import type { Coord2D, Dimension2D } from "../interfaces"; +import type { Coord2D, Dimension2D } from '../interfaces'; export interface BoxedEntry { id: string; @@ -7,8 +7,8 @@ export interface BoxedEntry { } export interface RefreshingCollisionFinderBehavior { - public clear(): void; - public insert(boxedEntry: BoxedEntry): void; - public getNeighborIds(boxedEntry: BoxedEntry): Set; - public setTopLeft(topLeft: Coord2d): void; + clear(): void; + insert(boxedEntry: BoxedEntry): void; + getNeighborIds(boxedEntry: BoxedEntry): Set; + setTopLeft(topLeft: Coord2D): void; } diff --git a/engine/structures/index.ts b/engine/structures/index.ts index 49a84af..679dbd4 100644 --- a/engine/structures/index.ts +++ b/engine/structures/index.ts @@ -1,3 +1,3 @@ -export * from "./RefreshingCollisionFinderBehavior"; -export * from "./QuadTree"; -export * from "./Grid"; +export * from './RefreshingCollisionFinderBehavior'; +export * from './QuadTree'; +export * from './Grid'; diff --git a/engine/systems/Collision.ts b/engine/systems/Collision.ts index 2dd920e..4a838dd 100644 --- a/engine/systems/Collision.ts +++ b/engine/systems/Collision.ts @@ -1,22 +1,22 @@ -import { SystemNames, System } from "."; +import { SystemNames, System } from '.'; import { Mass, BoundingBox, ComponentNames, Jump, Velocity, - Forces, -} from "../components"; -import { Game } from "../Game"; -import { Miscellaneous, PhysicsConstants } from "../config"; -import { Entity } from "../entities"; -import type { Coord2D, Dimension2D, Velocity2D } from "../interfaces"; -import { BoxedEntry, RefreshingCollisionFinderBehavior } from "../structures"; + Forces +} from '../components'; +import { Game } from '../Game'; +import { Miscellaneous, PhysicsConstants } from '../config'; +import { Entity } from '../entities'; +import type { Coord2D, Dimension2D, Velocity2D } from '../interfaces'; +import { BoxedEntry, RefreshingCollisionFinderBehavior } from '../structures'; export class Collision extends System { private static readonly COLLIDABLE_COMPONENT_NAMES = [ ComponentNames.Collide, - ComponentNames.TopCollidable, + ComponentNames.TopCollidable ]; private collisionFinder: RefreshingCollisionFinderBehavior; @@ -38,7 +38,7 @@ export class Collision extends System { return; } entitiesToAddToCollisionFinder.push(entity); - }), + }) ); this.insertEntitiesAndUpdateBounds(entitiesToAddToCollisionFinder); @@ -53,7 +53,7 @@ export class Collision extends System { entities.forEach((entity) => { const boundingBox = entity.getComponent( - ComponentNames.BoundingBox, + ComponentNames.BoundingBox ); let dimension = { ...boundingBox.dimension }; @@ -73,7 +73,7 @@ export class Collision extends System { collisionFinderInsertions.push({ id: entity.id, dimension, - center, + center }); }); @@ -82,13 +82,13 @@ export class Collision extends System { this.collisionFinder.setTopLeft(topLeft); this.collisionFinder.setDimension({ width: bottomRight.x - topLeft.x, - height: bottomRight.y - topLeft.y, + height: bottomRight.y - topLeft.y }); } // then, begin insertions collisionFinderInsertions.forEach((boxedEntry: BoxedEntry) => - this.collisionFinder.insert(boxedEntry), + this.collisionFinder.insert(boxedEntry) ); } @@ -97,7 +97,7 @@ export class Collision extends System { collidingEntities.forEach(([entityAId, entityBId]) => { const [entityA, entityB] = [entityAId, entityBId].map((id) => - game.entities.get(id), + game.entities.get(id) ); if (entityA && entityB) { this.performCollision(entityA, entityB); @@ -107,13 +107,13 @@ export class Collision extends System { private performCollision(entityA: Entity, entityB: Entity) { const [entityABoundingBox, entityBBoundingBox] = [entityA, entityB].map( - (entity) => entity.getComponent(ComponentNames.BoundingBox), + (entity) => entity.getComponent(ComponentNames.BoundingBox) ); let velocity: Velocity2D = { dCartesian: { dx: 0, dy: 0 }, dTheta: 0 }; if (entityA.hasComponent(ComponentNames.Velocity)) { velocity = entityA.getComponent( - ComponentNames.Velocity, + ComponentNames.Velocity ).velocity; } @@ -125,7 +125,7 @@ export class Collision extends System { ) { if (entityBBoundingBox.rotation != 0) { throw new Error( - `entity with id ${entityB.id} has TopCollidable component and a non-zero rotation. that is not (yet) supported.`, + `entity with id ${entityB.id} has TopCollidable component and a non-zero rotation. that is not (yet) supported.` ); } @@ -139,7 +139,7 @@ export class Collision extends System { entityA.getComponent(ComponentNames.Forces).forces.push({ fCartesian: { fy: F_n, fx: 0 }, - torque: 0, + torque: 0 }); } @@ -157,19 +157,19 @@ export class Collision extends System { private getCollidingEntities( collidableEntities: Entity[], - game: Game, + game: Game ): [string, string][] { const collidingEntityIds: [string, string][] = []; for (const entity of collidableEntities) { const boundingBox = entity.getComponent( - ComponentNames.BoundingBox, + ComponentNames.BoundingBox ); const neighborIds = this.collisionFinder.getNeighborIds({ id: entity.id, dimension: boundingBox.dimension, - center: boundingBox.center, + center: boundingBox.center }); for (const neighborId of neighborIds) { @@ -177,7 +177,7 @@ export class Collision extends System { if (!neighbor) return; const neighborBoundingBox = neighbor.getComponent( - ComponentNames.BoundingBox, + ComponentNames.BoundingBox ); if (boundingBox.isCollidingWith(neighborBoundingBox)) { @@ -192,11 +192,11 @@ export class Collision extends System { // ramblings: https://excalidraw.com/#json=z-xD86Za4a3duZuV2Oky0,KaGe-5iHJu1Si8inEo4GLQ private getDyToPushOutOfFloor( entityBoundingBox: BoundingBox, - floorBoundingBox: BoundingBox, + floorBoundingBox: BoundingBox ): number { const { dimension: { width, height }, - center: { x }, + center: { x } } = entityBoundingBox; const outScribedRectangle = entityBoundingBox.getOutscribedBoxDims(); @@ -215,7 +215,7 @@ export class Collision extends System { if (x >= floorBoundingBox.center.x) { boundedCollisionX = Math.min( floorBoundingBox.center.x + floorBoundingBox.dimension.width / 2, - clippedX, + clippedX ); return ( outScribedRectangle.height / 2 - @@ -225,7 +225,7 @@ export class Collision extends System { boundedCollisionX = Math.max( floorBoundingBox.center.x - floorBoundingBox.dimension.width / 2, - clippedX, + clippedX ); return ( diff --git a/engine/systems/FacingDirection.ts b/engine/systems/FacingDirection.ts index daf639f..01f32cf 100644 --- a/engine/systems/FacingDirection.ts +++ b/engine/systems/FacingDirection.ts @@ -2,10 +2,10 @@ import { ComponentNames, Velocity, FacingDirection as FacingDirectionComponent, - Control, -} from "../components"; -import { Game } from "../Game"; -import { System, SystemNames } from "./"; + Control +} from '../components'; +import { Game } from '../Game'; +import { System, SystemNames } from './'; export class FacingDirection extends System { constructor() { @@ -23,7 +23,7 @@ export class FacingDirection extends System { const totalVelocityComponent = new Velocity(); const control = entity.getComponent(ComponentNames.Control); const velocity = entity.getComponent( - ComponentNames.Velocity, + ComponentNames.Velocity ).velocity; totalVelocityComponent.add(velocity); @@ -32,7 +32,7 @@ export class FacingDirection extends System { } const facingDirection = entity.getComponent( - ComponentNames.FacingDirection, + ComponentNames.FacingDirection ); if (totalVelocityComponent.velocity.dCartesian.dx > 0) { @@ -40,7 +40,7 @@ export class FacingDirection extends System { } else if (totalVelocityComponent.velocity.dCartesian.dx < 0) { entity.addComponent(facingDirection.facingLeftSprite); } - }, + } ); } } diff --git a/engine/systems/Input.ts b/engine/systems/Input.ts index a32ba9a..4a5a3c3 100644 --- a/engine/systems/Input.ts +++ b/engine/systems/Input.ts @@ -4,12 +4,12 @@ import { ComponentNames, Velocity, Mass, - Control, -} from "../components"; -import { Game } from "../Game"; -import { KeyConstants, PhysicsConstants } from "../config"; -import { Action } from "../interfaces"; -import { System, SystemNames } from "."; + Control +} from '../components'; +import { Game } from '../Game'; +import { KeyConstants, PhysicsConstants } from '../config'; +import { Action } from '../interfaces'; +import { System, SystemNames } from '.'; export class Input extends System { public clientId: string; @@ -42,7 +42,7 @@ export class Input extends System { public update(_dt: number, game: Game) { game.forEachEntityWithComponent(ComponentNames.Control, (entity) => { const controlComponent = entity.getComponent( - ComponentNames.Control, + ComponentNames.Control ); if (controlComponent.controllableBy != this.clientId) return; @@ -58,7 +58,7 @@ export class Input extends System { if (entity.hasComponent(ComponentNames.Jump)) { const velocity = entity.getComponent( - ComponentNames.Velocity, + ComponentNames.Velocity ).velocity; const jump = entity.getComponent(ComponentNames.Jump); @@ -78,9 +78,9 @@ export class Input extends System { entity.getComponent(ComponentNames.Forces)?.forces.push({ fCartesian: { fy: mass * PhysicsConstants.PLAYER_JUMP_ACC, - fx: 0, + fx: 0 }, - torque: 0, + torque: 0 }); } } diff --git a/engine/systems/NetworkUpdate.ts b/engine/systems/NetworkUpdate.ts index 6c1d3e4..bcfb71e 100644 --- a/engine/systems/NetworkUpdate.ts +++ b/engine/systems/NetworkUpdate.ts @@ -1,11 +1,11 @@ -import { System, SystemNames } from "."; -import { Game } from "../Game"; -import { ComponentNames, NetworkUpdateable } from "../components"; +import { System, SystemNames } from '.'; +import { Game } from '../Game'; +import { ComponentNames, NetworkUpdateable } from '../components'; import { type MessageQueueProvider, type MessagePublisher, - type MessageProcessor, -} from "../network"; + type MessageProcessor +} from '../network'; export class NetworkUpdate extends System { private queueProvider: MessageQueueProvider; @@ -15,7 +15,7 @@ export class NetworkUpdate extends System { constructor( queueProvider: MessageQueueProvider, publisher: MessagePublisher, - messageProcessor: MessageProcessor, + messageProcessor: MessageProcessor ) { super(SystemNames.NetworkUpdate); @@ -34,9 +34,9 @@ export class NetworkUpdate extends System { ComponentNames.NetworkUpdateable, (entity) => { const networkUpdateComponent = entity.getComponent( - ComponentNames.NetworkUpdateable, + ComponentNames.NetworkUpdateable ); - }, + } ); this.publisher.publish(); diff --git a/engine/systems/Physics.ts b/engine/systems/Physics.ts index e324c97..35afb3f 100644 --- a/engine/systems/Physics.ts +++ b/engine/systems/Physics.ts @@ -1,4 +1,4 @@ -import { System, SystemNames } from "."; +import { System, SystemNames } from '.'; import { BoundingBox, ComponentNames, @@ -8,11 +8,11 @@ import { Mass, Jump, Moment, - Control, -} from "../components"; -import { PhysicsConstants } from "../config"; -import type { Force2D, Velocity2D } from "../interfaces"; -import { Game } from "../Game"; + Control +} from '../components'; +import { PhysicsConstants } from '../config'; +import type { Force2D, Velocity2D } from '../interfaces'; +import { Game } from '../Game'; export class Physics extends System { constructor() { @@ -24,10 +24,10 @@ export class Physics extends System { const mass = entity.getComponent(ComponentNames.Mass).mass; const forces = entity.getComponent(ComponentNames.Forces).forces; const velocity = entity.getComponent( - ComponentNames.Velocity, + ComponentNames.Velocity ).velocity; const inertia = entity.getComponent( - ComponentNames.Moment, + ComponentNames.Moment ).inertia; // F_g = mg, applied only until terminal velocity is reached @@ -37,9 +37,9 @@ export class Physics extends System { forces.push({ fCartesian: { fy: mass * PhysicsConstants.GRAVITY, - fx: 0, + fx: 0 }, - torque: 0, + torque: 0 }); } } @@ -49,17 +49,17 @@ export class Physics extends System { (accum: Force2D, { fCartesian, torque }: Force2D) => ({ fCartesian: { fx: accum.fCartesian.fx + (fCartesian?.fx ?? 0), - fy: accum.fCartesian.fy + (fCartesian?.fy ?? 0), + fy: accum.fCartesian.fy + (fCartesian?.fy ?? 0) }, - torque: accum.torque + (torque ?? 0), + torque: accum.torque + (torque ?? 0) }), - { fCartesian: { fx: 0, fy: 0 }, torque: 0 }, + { fCartesian: { fx: 0, fy: 0 }, torque: 0 } ); // integrate accelerations const [ddy, ddx] = [ sumOfForces.fCartesian.fy, - sumOfForces.fCartesian.fx, + sumOfForces.fCartesian.fx ].map((x) => x / mass); velocity.dCartesian.dx += ddx * dt; velocity.dCartesian.dy += ddy * dt; @@ -79,14 +79,14 @@ export class Physics extends System { const control = entity.getComponent(ComponentNames.Control); velocityComponent.add( - entity.getComponent(ComponentNames.Velocity).velocity, + entity.getComponent(ComponentNames.Velocity).velocity ); if (control) { velocityComponent.add(control.controlVelocityComponent.velocity); } const boundingBox = entity.getComponent( - ComponentNames.BoundingBox, + ComponentNames.BoundingBox ); // integrate velocity diff --git a/engine/systems/Render.ts b/engine/systems/Render.ts index 9bb4091..4a4500d 100644 --- a/engine/systems/Render.ts +++ b/engine/systems/Render.ts @@ -1,7 +1,7 @@ -import { System, SystemNames } from "."; -import { BoundingBox, ComponentNames, Sprite } from "../components"; -import { Game } from "../Game"; -import { clamp } from "../utils"; +import { System, SystemNames } from '.'; +import { BoundingBox, ComponentNames, Sprite } from '../components'; +import { Game } from '../Game'; +import { clamp } from '../utils'; export class Render extends System { private ctx: CanvasRenderingContext2D; @@ -19,7 +19,7 @@ export class Render extends System { sprite.update(dt); const boundingBox = entity.getComponent( - ComponentNames.BoundingBox, + ComponentNames.BoundingBox ); // don't render if we're outside the screen @@ -27,12 +27,12 @@ export class Render extends System { clamp( boundingBox.center.y, -boundingBox.dimension.height / 2, - this.ctx.canvas.height + boundingBox.dimension.height / 2, + this.ctx.canvas.height + boundingBox.dimension.height / 2 ) != boundingBox.center.y || clamp( boundingBox.center.x, -boundingBox.dimension.width / 2, - this.ctx.canvas.width + boundingBox.dimension.width / 2, + this.ctx.canvas.width + boundingBox.dimension.width / 2 ) != boundingBox.center.x ) { return; @@ -41,7 +41,7 @@ export class Render extends System { const drawArgs = { center: boundingBox.center, dimension: boundingBox.dimension, - rotation: boundingBox.rotation, + rotation: boundingBox.rotation }; sprite.draw(this.ctx, drawArgs); diff --git a/engine/systems/System.ts b/engine/systems/System.ts index 8b00dc5..de41988 100644 --- a/engine/systems/System.ts +++ b/engine/systems/System.ts @@ -1,4 +1,4 @@ -import { Game } from "../Game"; +import { Game } from '../Game'; export abstract class System { public readonly name: string; diff --git a/engine/systems/WallBounds.ts b/engine/systems/WallBounds.ts index a0d4a9c..7da84e4 100644 --- a/engine/systems/WallBounds.ts +++ b/engine/systems/WallBounds.ts @@ -1,28 +1,24 @@ -import { System, SystemNames } from "."; -import { BoundingBox, ComponentNames } from "../components"; -import { Game } from "../Game"; -import type { Entity } from "../entities"; -import { clamp } from "../utils"; +import { System, SystemNames } from '.'; +import { BoundingBox, ComponentNames } from '../components'; +import { Game } from '../Game'; +import { clamp } from '../utils'; +import { Miscellaneous } from '../config'; export class WallBounds extends System { - private screenWidth: number; - - constructor(screenWidth: number) { + constructor() { super(SystemNames.WallBounds); - - this.screenWidth = screenWidth; } public update(_dt: number, game: Game) { game.forEachEntityWithComponent(ComponentNames.WallBounded, (entity) => { const boundingBox = entity.getComponent( - ComponentNames.BoundingBox, + ComponentNames.BoundingBox ); boundingBox.center.x = clamp( boundingBox.center.x, boundingBox.dimension.width / 2, - this.screenWidth - boundingBox.dimension.width / 2, + Miscellaneous.WIDTH - boundingBox.dimension.width / 2 ); }); } diff --git a/engine/systems/index.ts b/engine/systems/index.ts index 075fc4e..43181e9 100644 --- a/engine/systems/index.ts +++ b/engine/systems/index.ts @@ -1,9 +1,9 @@ -export * from "./names"; -export * from "./System"; -export * from "./Render"; -export * from "./Physics"; -export * from "./Input"; -export * from "./FacingDirection"; -export * from "./Collision"; -export * from "./WallBounds"; -export * from "./NetworkUpdate"; +export * from './names'; +export * from './System'; +export * from './Render'; +export * from './Physics'; +export * from './Input'; +export * from './FacingDirection'; +export * from './Collision'; +export * from './WallBounds'; +export * from './NetworkUpdate'; diff --git a/engine/systems/names.ts b/engine/systems/names.ts index cf66422..ddf6f19 100644 --- a/engine/systems/names.ts +++ b/engine/systems/names.ts @@ -1,9 +1,9 @@ export namespace SystemNames { - export const Render = "Render"; - export const Physics = "Physics"; - export const FacingDirection = "FacingDirection"; - export const Input = "Input"; - export const Collision = "Collision"; - export const WallBounds = "WallBounds"; - export const NetworkUpdate = "NetworkUpdate"; + export const Render = 'Render'; + export const Physics = 'Physics'; + export const FacingDirection = 'FacingDirection'; + export const Input = 'Input'; + export const Collision = 'Collision'; + export const WallBounds = 'WallBounds'; + export const NetworkUpdate = 'NetworkUpdate'; } diff --git a/engine/utils/coding.ts b/engine/utils/coding.ts index 4c1b17f..3f78889 100644 --- a/engine/utils/coding.ts +++ b/engine/utils/coding.ts @@ -1,8 +1,8 @@ const replacer = (_key: any, value: any) => { if (value instanceof Map) { return { - dataType: "Map", - value: Array.from(value.entries()), + dataType: 'Map', + value: Array.from(value.entries()) }; } else { return value; @@ -10,8 +10,8 @@ const replacer = (_key: any, value: any) => { }; const reviver = (_key: any, value: any) => { - if (typeof value === "object" && value !== null) { - if (value.dataType === "Map") { + if (typeof value === 'object' && value !== null) { + if (value.dataType === 'Map') { return new Map(value.value); } } diff --git a/engine/utils/dotProduct.ts b/engine/utils/dotProduct.ts index 59f8857..82bcdea 100644 --- a/engine/utils/dotProduct.ts +++ b/engine/utils/dotProduct.ts @@ -1,4 +1,4 @@ -import type { Coord2D } from "../interfaces"; +import type { Coord2D } from '../interfaces'; export const dotProduct = (vector1: Coord2D, vector2: Coord2D): number => vector1.x * vector2.x + vector1.y * vector2.y; diff --git a/engine/utils/index.ts b/engine/utils/index.ts index b70734f..65446d1 100644 --- a/engine/utils/index.ts +++ b/engine/utils/index.ts @@ -1,4 +1,4 @@ -export * from "./rotateVector"; -export * from "./dotProduct"; -export * from "./clamp"; -export * from "./coding"; +export * from './rotateVector'; +export * from './dotProduct'; +export * from './clamp'; +export * from './coding'; diff --git a/engine/utils/rotateVector.ts b/engine/utils/rotateVector.ts index 82bb54d..221ffb2 100644 --- a/engine/utils/rotateVector.ts +++ b/engine/utils/rotateVector.ts @@ -1,4 +1,4 @@ -import type { Coord2D } from "../interfaces"; +import type { Coord2D } from '../interfaces'; /** * ([[cos(θ), -sin(θ),]) ([x,) @@ -10,6 +10,6 @@ export const rotateVector = (vector: Coord2D, theta: number): Coord2D => { return { x: vector.x * cos - vector.y * sin, - y: vector.x * sin + vector.y * cos, + y: vector.x * sin + vector.y * cos }; }; -- cgit v1.2.3-70-g09d2