From 29ba1c29d7ada13a9e6d475ca880d121a85894ea Mon Sep 17 00:00:00 2001 From: Elizabeth Hunt Date: Sat, 2 Sep 2023 14:40:46 -0600 Subject: make next update interval a property on network update component instead of inheritable attribute on entities --- engine/entities/Entity.ts | 5 +---- engine/entities/Floor.ts | 6 +----- engine/entities/Player.ts | 6 +----- 3 files changed, 3 insertions(+), 14 deletions(-) (limited to 'engine/entities') diff --git a/engine/entities/Entity.ts b/engine/entities/Entity.ts index 7078f79..a7d561c 100644 --- a/engine/entities/Entity.ts +++ b/engine/entities/Entity.ts @@ -1,8 +1,7 @@ import { EntityNames, Floor, Player } from '.'; import { type Component } from '../components'; -const randomId = () => - (performance.now() + Math.random() * 10_000_000).toString(); +const randomId = () => (Math.random() * 1_000_000_000).toString(); export abstract class Entity { public id: string; @@ -59,6 +58,4 @@ export abstract class Entity { public abstract setFrom(args: Record): void; public abstract serialize(): Record; - - public abstract getNextUpdateInterval(): number; } diff --git a/engine/entities/Floor.ts b/engine/entities/Floor.ts index f56c0d3..fb4988d 100644 --- a/engine/entities/Floor.ts +++ b/engine/entities/Floor.ts @@ -17,7 +17,7 @@ export class Floor extends Entity { this.addComponent( new Sprite( - IMAGES.get((Floor.spriteSpec?.states?.get(width) as SpriteSpec).sheet), + IMAGES.get(Floor.spriteSpec!.states!.get(width)!.sheet!)!, { x: 0, y: 0 }, { width, height: Floor.spriteSpec.height }, Floor.spriteSpec.msPerFrame, @@ -45,8 +45,4 @@ export class Floor extends Entity { ) ); } - - public getNextUpdateInterval() { - return Math.random() * 500; - } } diff --git a/engine/entities/Player.ts b/engine/entities/Player.ts index b42fca4..02dd14e 100644 --- a/engine/entities/Player.ts +++ b/engine/entities/Player.ts @@ -60,7 +60,7 @@ export class Player extends Entity { const [leftSprite, rightSprite] = [Direction.LEFT, Direction.RIGHT].map( (direction) => new Sprite( - IMAGES.get(Player.spriteSpec.states?.get(direction)?.sheet as string), + IMAGES.get(Player.spriteSpec.states!.get(direction)!.sheet!)!, { x: 0, y: 0 }, { width: Player.spriteSpec.width, height: Player.spriteSpec.height }, Player.spriteSpec.msPerFrame, @@ -102,8 +102,4 @@ export class Player extends Entity { new BoundingBox(center, boundingBox.dimension, boundingBox.rotation) ].forEach((component) => this.addComponent(component)); } - - public getNextUpdateInterval() { - return Math.random() * 30 + 50; - } } -- cgit v1.2.3-70-g09d2