summaryrefslogtreecommitdiff
path: root/engine/entities
diff options
context:
space:
mode:
Diffstat (limited to 'engine/entities')
-rw-r--r--engine/entities/Entity.ts12
-rw-r--r--engine/entities/Floor.ts24
-rw-r--r--engine/entities/Player.ts24
-rw-r--r--engine/entities/index.ts8
-rw-r--r--engine/entities/names.ts4
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';
}