diff options
Diffstat (limited to 'engine/entities')
-rw-r--r-- | engine/entities/Entity.ts | 12 | ||||
-rw-r--r-- | engine/entities/Floor.ts | 24 | ||||
-rw-r--r-- | engine/entities/Player.ts | 24 | ||||
-rw-r--r-- | engine/entities/index.ts | 8 | ||||
-rw-r--r-- | engine/entities/names.ts | 4 |
5 files changed, 32 insertions, 40 deletions
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<T extends Component>(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'; } |