summaryrefslogtreecommitdiffstats
path: root/src/renderer/runtime/view/entity.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/renderer/runtime/view/entity.ts')
-rw-r--r--src/renderer/runtime/view/entity.ts26
1 files changed, 8 insertions, 18 deletions
diff --git a/src/renderer/runtime/view/entity.ts b/src/renderer/runtime/view/entity.ts
index ec91503..4fc0937 100644
--- a/src/renderer/runtime/view/entity.ts
+++ b/src/renderer/runtime/view/entity.ts
@@ -1,4 +1,4 @@
-import { EntityData } from '../model/data/entity';
+import { EntityData, EntityDataInput } from '../model/data/entity';
import { Renderer } from './renderer/renderer';
import { SpriteCoords, SpriteView, SpriteViewBuilder } from './sprite';
import { loadImage, mkTexture } from './util/image';
@@ -9,7 +9,7 @@ import { vec2 } from 'gl-matrix';
export class EntityView {
public static async load(r: Renderer, name: string): Promise<EntityView> {
- const data = new EntityData(await getJSON(`resources/entity/${name}.json`));
+ const data = new EntityData((await getJSON(`resources/entity/${name}.json`)) as EntityDataInput);
const tile = await loadImage(`resources/sprite/entity/${data.sprite}.png`);
const [texture, size] = mkTexture(r, tile);
@@ -33,22 +33,14 @@ export class EntityView {
sprites.push(builder.build());
}
- return new EntityView(
- data,
- sprites,
- );
+ return new EntityView(data, sprites);
}
private readonly totalTime: number;
- private constructor(
- public readonly data: EntityData,
- public readonly sprites: SpriteView[],
- ) {
- if (data.animation)
- this.totalTime = data.animation.sequence.reduce((a, s) => a + s[0], 0);
- else
- this.totalTime = 0;
+ private constructor(public readonly data: EntityData, public readonly sprites: SpriteView[]) {
+ if (data.animation) this.totalTime = data.animation.sequence.reduce((a, s) => a + s[0], 0);
+ else this.totalTime = 0;
}
public getSpriteByTime(time: number): SpriteView {
@@ -57,16 +49,14 @@ export class EntityView {
if (this.data.animation) {
for (const [len, sprite] of this.data.animation.sequence) {
time -= len;
- if (time < 0)
- return this.sprites[sprite];
+ if (time < 0) return this.sprites[sprite];
}
}
return this.sprites[0];
}
- public renderByTime(time: number) {
+ public renderByTime(time: number): void {
this.getSpriteByTime(time).render();
}
-
}