From c551f519cadb8628d58114512770c69b01d80a0c Mon Sep 17 00:00:00 2001 From: Elizabeth Hunt Date: Tue, 29 Aug 2023 12:26:58 -0600 Subject: make server update interval an inheritable trait on entities --- engine/entities/Entity.ts | 2 ++ engine/entities/Floor.ts | 4 ++++ engine/entities/Player.ts | 4 ++++ 3 files changed, 10 insertions(+) (limited to 'engine/entities') diff --git a/engine/entities/Entity.ts b/engine/entities/Entity.ts index 63fb370..7078f79 100644 --- a/engine/entities/Entity.ts +++ b/engine/entities/Entity.ts @@ -59,4 +59,6 @@ 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 b4f48e5..f56c0d3 100644 --- a/engine/entities/Floor.ts +++ b/engine/entities/Floor.ts @@ -45,4 +45,8 @@ export class Floor extends Entity { ) ); } + + public getNextUpdateInterval() { + return Math.random() * 500; + } } diff --git a/engine/entities/Player.ts b/engine/entities/Player.ts index a7a41f8..b42fca4 100644 --- a/engine/entities/Player.ts +++ b/engine/entities/Player.ts @@ -102,4 +102,8 @@ 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