Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var global = require('./global');
- class Canvas {
- constructor(params) {
- this.directionLock = false;
- this.target = global.target;
- this.reenviar = true;
- this.socket = global.socket;
- this.directions = [];
- var self = this;
- this.cv = document.getElementById('cvs');
- this.cv.width = global.screenWidth;
- this.cv.height = global.screenHeight;
- this.cv.addEventListener('mousemove', this.gameInput, false);
- this.cv.addEventListener('keydown', this.keyboardDown, false);
- this.cv.addEventListener('keyup', this.keyboardUp, false);
- this.cv.addEventListener("mousedown", this.mouseDown, false);
- this.cv.addEventListener("mouseup", this.mouseUp, false);
- this.cv.parent = self;
- global.canvas = this;
- }
- keyboardDown(event) {
- switch (event.keyCode) {
- case global.KEY_UP_ARROW:
- case global.KEY_UP: this.parent.socket.emit('command', 'up', true); break;
- case global.KEY_DOWN_ARROW:
- case global.KEY_DOWN: this.parent.socket.emit('command', 'down', true); break;
- case global.KEY_LEFT_ARROW:
- case global.KEY_LEFT: this.parent.socket.emit('command', 'left', true); break;
- case global.KEY_RIGHT_ARROW:
- case global.KEY_RIGHT: this.parent.socket.emit('command', 'right', true); break;
- case global.KEY_LEVEL_UP: this.parent.socket.emit('levelup'); break;
- }
- if (!event.repeat) {
- switch (event.keyCode) {
- case global.KEY_AUTO_SPIN: this.parent.socket.emit('toggle', 'autospin'); break;
- case global.KEY_AUTO_FIRE: this.parent.socket.emit('toggle', 'autofire'); break;
- case global.KEY_OVER_RIDE: this.parent.socket.emit('toggle', 'override'); break;
- }
- if (global.canSkill) {
- switch (event.keyCode) {
- case global.KEY_UPGRADE_ATK: this.parent.socket.emit('skillChange', 'atk'); break;
- case global.KEY_UPGRADE_HTL: this.parent.socket.emit('skillChange', 'hlt'); break;
- case global.KEY_UPGRADE_SPD: this.parent.socket.emit('skillChange', 'spd'); break;
- case global.KEY_UPGRADE_STR: this.parent.socket.emit('skillChange', 'str'); break;
- case global.KEY_UPGRADE_PEN: this.parent.socket.emit('skillChange', 'pen'); break;
- case global.KEY_UPGRADE_DAM: this.parent.socket.emit('skillChange', 'dam'); break;
- case global.KEY_UPGRADE_RLD: this.parent.socket.emit('skillChange', 'rld'); break;
- case global.KEY_UPGRADE_MOB: this.parent.socket.emit('skillChange', 'mob'); break;
- case global.KEY_UPGRADE_RGN: this.parent.socket.emit('skillChange', 'rgn'); break;
- case global.KEY_UPGRADE_SHI: this.parent.socket.emit('skillChange', 'shi'); break;
- }
- }
- if (global.canUpgrade) {
- switch (event.keyCode) {
- case global.KEY_CHOOSE_1: this.parent.socket.emit('upgrade', 0); break;
- case global.KEY_CHOOSE_2: this.parent.socket.emit('upgrade', 1); break;
- case global.KEY_CHOOSE_3: this.parent.socket.emit('upgrade', 2); break;
- case global.KEY_CHOOSE_4: this.parent.socket.emit('upgrade', 3); break;
- case global.KEY_CHOOSE_5: this.parent.socket.emit('upgrade', 4); break;
- case global.KEY_CHOOSE_6: this.parent.socket.emit('upgrade', 5); break;
- case global.KEY_CHOOSE_7: this.parent.socket.emit('upgrade', 6); break;
- case global.KEY_CHOOSE_8: this.parent.socket.emit('upgrade', 7); break;
- }
- }
- }
- }
- keyboardUp(event) {
- switch (event.keyCode) {
- case global.KEY_UP_ARROW:
- case global.KEY_UP: this.parent.socket.emit('command', 'up', false); break;
- case global.KEY_DOWN_ARROW:
- case global.KEY_DOWN: this.parent.socket.emit('command', 'down', false); break;
- case global.KEY_LEFT_ARROW:
- case global.KEY_LEFT: this.parent.socket.emit('command', 'left', false); break;
- case global.KEY_RIGHT_ARROW:
- case global.KEY_RIGHT: this.parent.socket.emit('command', 'right', false); break;
- }
- }
- mouseDown(event) {
- switch (event.button) {
- case 0: this.parent.socket.emit('command', 'lmb', true); break;
- case 1: this.parent.socket.emit('command', 'mmb', true); break;
- case 2: this.parent.socket.emit('command', 'rmb', true); break;
- }
- }
- mouseUp(event) {
- switch (event.button) {
- case 0: this.parent.socket.emit('command', 'lmb', false); break;
- case 1: this.parent.socket.emit('command', 'mmb', false); break;
- case 2: this.parent.socket.emit('command', 'rmb', false); break;
- }
- }
- // Mouse location (we send target information in the heartbeat)
- gameInput(mouse) {
- this.parent.target.x = mouse.clientX - this.width / 2;
- this.parent.target.y = mouse.clientY - this.height / 2;
- global.target = this.parent.target;
- }
- }
- module.exports = Canvas;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement