92 lines
2.3 KiB
JavaScript
92 lines
2.3 KiB
JavaScript
/**
|
|
* @file event_handling.js
|
|
* @autour frtk@tetalab
|
|
*/
|
|
|
|
NPGClient.evtHandler = {
|
|
|
|
keyState: {},
|
|
|
|
//
|
|
init: function() {
|
|
var self = this;
|
|
//
|
|
self.keyState = {};
|
|
for (k in NPGClient.KEYS) {
|
|
self.keyState[NPGClient[k]] = false;
|
|
}
|
|
//
|
|
document.addEventListener('keydown',function(e) {
|
|
self.keyState[e.keyCode || e.which] = true;
|
|
self.onKeyDown(e);
|
|
}, true);
|
|
//
|
|
document.addEventListener('keyup',function(e){
|
|
self.keyState[e.keyCode || e.which] = false;
|
|
}, true);
|
|
},
|
|
|
|
//
|
|
isValidKey: function(k) {
|
|
return (k >= 48 && k <= 90);
|
|
},
|
|
|
|
//
|
|
onKeyDown: function(evt) {
|
|
var self = this;
|
|
if (evt.keyCode == NPGClient.KEYS.ESC) {
|
|
//self.playerLogout(); // player logout
|
|
} else if (evt.keyCode == NPGClient.KEYS.F1) {
|
|
//self.sendToMenuPage(); // back to previous page
|
|
} else {
|
|
switch (NPGClient.PageHandler.currPage) {
|
|
case NPGClient.LOGIN.NAME:
|
|
self.userLogin(evt);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
},
|
|
|
|
|
|
/*
|
|
*
|
|
*/
|
|
//
|
|
userLogin : function (evt) {
|
|
|
|
var self = this;
|
|
//
|
|
switch (evt.keyCode) {
|
|
case NPGClient.KEYS.ENTER:
|
|
if (NPGClient.SocketIO.isConnected) {
|
|
if (NPGClient.userName.length != 0) {
|
|
NPGClient.SocketIO.sendMsg('regRequest', NPGClient.userName);
|
|
}
|
|
} else {
|
|
NPGClient.Utils.resetName();
|
|
NPGClient.PageHandler.getCurrPageUIElemByName('login_cursor').reset();
|
|
}
|
|
break;
|
|
case NPGClient.KEYS.BACKSPACE:
|
|
//--- remove a character
|
|
evt.preventDefault();
|
|
if (!NPGClient.Utils.nameEmpty()) {
|
|
NPGClient.Utils.removeChar();
|
|
NPGClient.PageHandler.getCurrPageUIElemByName('login_cursor').translateX(-15);
|
|
}
|
|
break;
|
|
default:
|
|
//--- add character
|
|
if (self.isValidKey(evt.keyCode) && !NPGClient.Utils.maxNameSize()) {
|
|
NPGClient.Utils.addChar(evt.keyCode);
|
|
newNameW = NPGClient.ui.ctx.measureText(NPGClient.userName).width;
|
|
NPGClient.PageHandler.getCurrPageUIElemByName('login_cursor').translateX(15);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
}
|