summaryrefslogtreecommitdiffstats
path: root/src/index.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/index.ts')
-rw-r--r--src/index.ts52
1 files changed, 2 insertions, 50 deletions
diff --git a/src/index.ts b/src/index.ts
index 4a06ab2..a5ac4a2 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -1,61 +1,13 @@
-import MapData from './model/data/MapData';
+import { GameContext } from './controller/gamecontext';
-import { vec2 } from 'gl-matrix';
-
-import { getJSON } from './util';
-import { loadSimpleEntity } from './view/entity';
-import DirectionHandler from './view/input/DirectionHandler';
-import { loadMap } from './view/map';
import Renderer from './view/renderer/Renderer';
-const entityPos = vec2.create();
-const entityMovement = vec2.create();
-
window.onload = async () => {
const canvas = document.getElementById('rpgedit') as HTMLCanvasElement;
if (!canvas)
return;
- const input = new DirectionHandler();
- input.addListener((v) => {
- if (vec2.sqrLen(v) > 0)
- vec2.normalize(entityMovement, v);
- else
- vec2.copy(entityMovement, [0, 0]);
- });
-
const renderer = new Renderer(canvas);
- const map = new MapData(await getJSON('resources/map/test.json'));
- const mapView = await loadMap(renderer, map);
-
- const entity = await loadSimpleEntity(renderer, 'simple_square');
-
- let prevTime: number|null = null;
-
- const render = (time: number) => {
- const res = 64;
-
- let diff = 0;
- if (prevTime !== null)
- diff = time - prevTime;
- prevTime = time;
-
- vec2.scaleAndAdd(entityPos, entityPos, entityMovement, diff / 100);
- vec2.scale(entityPos, entityPos, res);
- vec2.round(entityPos, entityPos);
- vec2.scale(entityPos, entityPos, 1 / res);
-
- renderer.setCenter(entityPos);
- renderer.clear();
-
- mapView.render();
-
- renderer.setTranslation(entityPos);
- entity.render();
-
- window.requestAnimationFrame(render);
- };
-
- window.requestAnimationFrame(render);
+ await GameContext.load(renderer);
};