First commit
This commit is contained in:
210
engine/eventManager.js
Executable file
210
engine/eventManager.js
Executable file
@@ -0,0 +1,210 @@
|
||||
/**
|
||||
* Kepler - Core
|
||||
*
|
||||
* All rights reserved.
|
||||
*
|
||||
* Author: Kaj Dijksta
|
||||
*
|
||||
**/
|
||||
import keplerEngine from './kepler.js';
|
||||
import {vector2, vector3} from './math.js';
|
||||
//import vector2 from './math.js';
|
||||
//import vector3 from './math.js';
|
||||
|
||||
/**
|
||||
* Event Manager
|
||||
* Manage all mouse and keyboard events in this class
|
||||
*/
|
||||
class eventManager {
|
||||
|
||||
constructor( viewport ){
|
||||
|
||||
this.tempMouse = new vector2(0,0);
|
||||
this.oldMousPos = new vector2(0,0);
|
||||
this.mouseVerschil = new vector2(0,0);
|
||||
this.mouseDown = new vector3(0,0,0);
|
||||
|
||||
|
||||
$(viewport.canvas).data("viewport", this.viewport);
|
||||
|
||||
viewport.canvas.addEventListener("mousemove", function(e){
|
||||
|
||||
kepler.viewport = viewport;
|
||||
viewport.events.mouseMoveHandler(e, viewport);
|
||||
|
||||
});
|
||||
viewport.canvas.addEventListener("mousedown", function(e){ viewport.events.mouseDownHandler(e, viewport); });
|
||||
viewport.canvas.addEventListener("mouseup", function(e){ viewport.events.mouseUpHandler(e, viewport); });
|
||||
|
||||
window.addEventListener("keydown", function(e){ viewport.events.keyDownHandler(e, kepler.viewport); });
|
||||
window.addEventListener("keyup", function(e){ viewport.events.keyUpHandler(e, kepler.viewport); });
|
||||
|
||||
this.lastTime = new Date().getTime();
|
||||
this.elapsed = 0;
|
||||
this.timeNow = 0;
|
||||
this.clientMouse = new vector2(0,0);
|
||||
this.keysDown = false;
|
||||
|
||||
}
|
||||
|
||||
setViewport( viewport ){
|
||||
|
||||
this.viewport = viewport;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Mouse over event handler.
|
||||
* @param {(event)} event.
|
||||
**/
|
||||
mouseMoveHandler ( e, viewport ) {
|
||||
// console.log(viewport);
|
||||
this.tempMouse = [ e.screenX, e.screenY ];
|
||||
this.clientMouse = [ e.screenX , e.screenY ];
|
||||
|
||||
if( this.mouseDown[1] || this.mouseDown[2] )
|
||||
this.lastTime = new Date().getTime();
|
||||
|
||||
if(!this.oldMousPos)
|
||||
this.oldMousPos = this.tempMouse;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Mouse down event handler.
|
||||
* @param {(event)} event.
|
||||
*/
|
||||
mouseDownHandler (e, viewport) {
|
||||
|
||||
switch(e.button)
|
||||
{
|
||||
case 0:
|
||||
this.mouseDown[1] = true;
|
||||
if(this.keysDown == 16)
|
||||
readPixel();
|
||||
break;
|
||||
case 1:
|
||||
this.mouseDown[0] = true;
|
||||
break;
|
||||
case 2:
|
||||
this.mouseDown[2] = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Mouse up event handler
|
||||
* @param {(event)} event.
|
||||
**/
|
||||
mouseUpHandler ( e, viewport ) {
|
||||
|
||||
switch(e.button)
|
||||
{
|
||||
case 0:
|
||||
this.mouseDown[1] = false;
|
||||
break;
|
||||
case 1:
|
||||
this.mouseDown[0] = false;
|
||||
break;
|
||||
case 2:
|
||||
this.mouseDown[2] = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Key down event handler
|
||||
**/
|
||||
keyDownHandler ( e, viewport ) {
|
||||
|
||||
var mainPlayer = viewport.mainPlayer;
|
||||
|
||||
switch(e.keyCode) {
|
||||
case 68: // a
|
||||
|
||||
mainPlayer.right = false;
|
||||
mainPlayer.left = true;
|
||||
break;
|
||||
case 65: // d
|
||||
mainPlayer.left = false;
|
||||
mainPlayer.right = true;
|
||||
break;
|
||||
case 87: //w
|
||||
mainPlayer.backward = false;
|
||||
mainPlayer.forward = true;
|
||||
break;
|
||||
case 83: //s
|
||||
mainPlayer.forward = false;
|
||||
mainPlayer.backward = true;
|
||||
break;
|
||||
case 16: //shift
|
||||
viewport.mainPlayer.moveSpeed = .39;
|
||||
this.keysDown = 16;
|
||||
break;
|
||||
case 90:
|
||||
mainPlayer.down = true;
|
||||
break;
|
||||
case 32:
|
||||
mainPlayer.up = true;
|
||||
break;
|
||||
case 67://v
|
||||
|
||||
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
this.keysDown = e.keyCode;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Key up event handler
|
||||
**/
|
||||
keyUpHandler(e, viewport)
|
||||
{
|
||||
|
||||
var mainPlayer = viewport.mainPlayer;
|
||||
|
||||
switch(e.keyCode)
|
||||
{
|
||||
case 65: // a
|
||||
//g_animate = false;
|
||||
break;
|
||||
}
|
||||
|
||||
switch(e.keyCode) {
|
||||
case 68: // a
|
||||
mainPlayer.left = false;
|
||||
break;
|
||||
case 65: // d
|
||||
mainPlayer.right = false;
|
||||
break;
|
||||
case 87: //w
|
||||
mainPlayer.forward = false;
|
||||
break;
|
||||
case 83: //s
|
||||
mainPlayer.backward = false;
|
||||
break;
|
||||
case 16: // shift
|
||||
viewport.mainPlayer.moveSpeed = .3;
|
||||
break;
|
||||
case 90:
|
||||
mainPlayer.down = false;
|
||||
break;
|
||||
case 32:
|
||||
mainPlayer.up = false;
|
||||
|
||||
break;
|
||||
case 67://v
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
this.keysDown = false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export {eventManager as default};
|
||||
Reference in New Issue
Block a user