Add better object updates

This commit is contained in:
schmelczerandras 2020-10-17 18:35:09 +02:00
parent fd80a299b6
commit e83c58e1a5
29 changed files with 289 additions and 123 deletions

View file

@ -1,6 +1,6 @@
import { vec2 } from 'gl-matrix';
import { CircleLight, Renderer } from 'sdf-2d';
import { Id, ProjectileBase, rgb } from 'shared';
import { Id, ProjectileBase, rgb, UpdateMessage } from 'shared';
import { ViewObject } from './view-object';
import { Circle } from '../shapes/circle';
@ -14,7 +14,14 @@ export class ProjectileView extends ProjectileBase implements ViewObject {
this.light = new CircleLight(center, rgb(1, 0.5, 0), 0.15);
}
public step(deltaTimeInMilliseconds: number): void {}
update(updates: Array<UpdateMessage>): void {
updates.forEach((u) => ((this as any)[u.key] = u.value));
}
public step(deltaTimeInMilliseconds: number): void {
this.circle.center = this.center;
this.light.center = this.center;
}
public draw(renderer: Renderer): void {
renderer.addDrawable(this.circle);