55 lines
1.9 KiB
JavaScript
55 lines
1.9 KiB
JavaScript
import {canvas} from './graphics/index.mjs';
|
||
|
||
export const mouse = { pressed: {}, held: {}, x: 0, y: 0, scroll: 0 };
|
||
export const keyCode = { pressed: {}, held: {} };
|
||
export const key = { pressed: {}, held: {} };
|
||
export const action = {};
|
||
|
||
const mapping = {};
|
||
|
||
export function tick() {
|
||
mouse.pressed = {};
|
||
keyCode.pressed = {};
|
||
key.pressed = {};
|
||
mouse.scroll = 0;
|
||
}
|
||
|
||
export function init() {
|
||
window.addEventListener('keydown', event => {
|
||
keyCode.pressed[event.code] = !keyCode.held[event.code];
|
||
keyCode.held[event.code] = true;
|
||
key.pressed[event.key] = !keyCode.held[event.key];
|
||
key.held[event.key] = true;
|
||
});
|
||
|
||
window.addEventListener('keyup', event => {
|
||
keyCode.pressed[event.code] = false;
|
||
keyCode.held[event.code] = false;
|
||
key.pressed[event.key] = false;
|
||
key.held[event.key] = false;
|
||
});
|
||
// Ṕ͕͖ẖ̨’̖̺͓̪̹n̼͇͔̯̝̖g̙̩̭͕ͅͅl̻̰͘u͎̥͍̗ͅi̼̞̪̩͚̜͖ ̫̝̻͚͟m͎̳̙̭̩̩̕g̟̤̬̮l̫̕w̶͚͈͚̟͔’͖n͏̝͖̞̺ͅa͏̹͓̬̺f̗̬̬̬̖̫͜h͙̘̝̱̬̗͜ ̼͎͖C̱͔̱͖ṭ̬̱͖h̵̰̼̘̩ùlh̙́u̪̫ ̪̺̹̙̯R̞͓̹̞’͍͎͉͎̦͙ͅl͇̠̮y̙̪̰̪͙̖e̢̩͉͙̼h̗͔̹̳ ̶w̨̼͍̝̭̣̣ͅg̶̳̦̳a̴͉̹͙̭̟ͅh͈͎̞̜͉́’̼̜̠͞n̲a̯g̮͚͓̝l̠ ̹̹̱͙̝f̧̝͖̱h̪̟̻͖̖t͎͘aͅg̤̘͜n̶͈̻̻̝̳
|
||
window.addEventListener('mousedown', event => {
|
||
mouse.pressed[event.button] = !mouse.held[event.button];
|
||
mouse.held[event.button] = true;
|
||
});
|
||
|
||
window.addEventListener('mouseup', event => {
|
||
mouse.pressed[event.button] = false;
|
||
mouse.held[event.button] = false;
|
||
});
|
||
|
||
window.addEventListener('mousemove', event => {
|
||
let rect = canvas.getBoundingClientRect();
|
||
mouse.x = event.clientX - rect.left;
|
||
mouse.y = event.clientY - rect.top;
|
||
});
|
||
|
||
window.addEventListener('wheel', event => {
|
||
mouse.scroll = event.deltaY;
|
||
});
|
||
|
||
window.addEventListener('contextmenu', event => {
|
||
event.preventDefault();
|
||
});
|
||
}
|