36 lines
764 B
JavaScript
36 lines
764 B
JavaScript
import * as graphics from "./graphics.mjs";
|
|
import { BOX_SIZE, get_tile, get_root } from "./world.mjs";
|
|
import { get_player_box } from "./player.mjs";
|
|
import { save_in_browser, load_from_browser } from "./save_load.mjs";
|
|
import { tick } from "/js/tile_update.mjs";
|
|
|
|
|
|
|
|
load_from_browser();
|
|
|
|
function render (_delta_time) {
|
|
graphics.clear();
|
|
graphics.draw_world(get_player_box());
|
|
graphics.render();
|
|
}
|
|
|
|
let last_time = new Date().getTime();
|
|
function main (timestamp) {
|
|
let dt_ms = timestamp - last_time;
|
|
last_time += dt_ms;
|
|
const delta = dt_ms / 1000;
|
|
|
|
render(delta);
|
|
tick(get_root(), delta);
|
|
|
|
requestAnimationFrame(main);
|
|
}
|
|
|
|
requestAnimationFrame(main);
|
|
|
|
function autosave () {
|
|
save_in_browser();
|
|
}
|
|
|
|
const autosave_interval = setInterval(autosave, 3000);
|