/src/main.ts
import gs from './gamestate';
import { Script } from './script';
function keydown(e: KeyboardEvent) {
switch(e.code) {
case 'ArrowRight':
gs.movePlayerRel(1, 0);
break;
case 'ArrowLeft':
gs.movePlayerRel(-1, 0);
break;
case 'ArrowUp':
gs.movePlayerRel(0, -1);
break;
case 'ArrowDown':
gs.movePlayerRel(0, 1);
break;
case 'KeyN':
gs.map.toggleNavigable();
break;
case 'KeyE':
// To prevent the 'e' from being typed into the editor
e.preventDefault();
gs.map.editDescription();
break;
case 'KeyO':
e.preventDefault();
gs.objectEditor.open();
break;
case 'KeyS':
localStorage['map'] = JSON.stringify(gs.map.store());
console.log(localStorage['map']);
localStorage['globals'] = JSON.stringify(gs.storeGlobals());
console.log(localStorage['globals']);
break;
case 'KeyL':
gs.map.load(JSON.parse(localStorage['map']));
gs.enterCell();
console.log('Map reloaded');
break;
default:
console.log('code:', e.code);
}
}
function init() {
window.addEventListener('keydown', keydown);
gs.init();
}
window.addEventListener('load', init);