controller: clean up GameContext a bit
This commit is contained in:
parent
5372d1b417
commit
1ae0884a73
2 changed files with 16 additions and 16 deletions
|
@ -10,14 +10,6 @@ import { getJSON } from '../util';
|
|||
|
||||
import { vec2 } from 'gl-matrix';
|
||||
|
||||
function snapToGrid(out: vec2, a: vec2): void {
|
||||
const res = 64;
|
||||
|
||||
vec2.scale(out, a, res);
|
||||
vec2.round(out, out);
|
||||
vec2.scale(out, out, 1 / res);
|
||||
}
|
||||
|
||||
export class GameContext {
|
||||
public static async load(renderer: Renderer): Promise<GameContext> {
|
||||
const [
|
||||
|
@ -66,10 +58,7 @@ export class GameContext {
|
|||
}
|
||||
|
||||
private updateTime(time: number): number {
|
||||
let diff = 0;
|
||||
if (this.time !== null)
|
||||
diff = time - this.time;
|
||||
|
||||
const diff = this.time !== null ? time - this.time : 0;
|
||||
this.time = time;
|
||||
|
||||
return diff;
|
||||
|
@ -78,8 +67,10 @@ export class GameContext {
|
|||
private update(time: number): void {
|
||||
const diff = this.updateTime(time);
|
||||
|
||||
vec2.scaleAndAdd(this.entityPos, this.entityPos, this.entityMovement, diff * this.speed);
|
||||
snapToGrid(this.entityPos, this.entityPos);
|
||||
if (vec2.sqrLen(this.entityMovement) > 0)
|
||||
vec2.scaleAndAdd(this.entityPos, this.entityPos, this.entityMovement, diff * this.speed);
|
||||
else
|
||||
this.renderer.snapToGrid(this.entityPos, this.entityPos);
|
||||
}
|
||||
|
||||
private render = (time: number) => {
|
||||
|
|
Reference in a new issue