|
class Controls{ |
|
constructor(type){ |
|
this.forward=false; |
|
this.left=false; |
|
this.right=false; |
|
this.reverse=false; |
|
|
|
switch(type){ |
|
case "KEYS": |
|
this.#addKeyboardListeners(); |
|
break; |
|
case "DUMMY": |
|
this.forward=true; |
|
break; |
|
} |
|
|
|
|
|
} |
|
|
|
#addKeyboardListeners(){ |
|
document.onkeydown=(event)=>{ |
|
switch(event.key){ |
|
case "ArrowLeft": |
|
this.left=true; |
|
break; |
|
case "ArrowRight": |
|
this.right=true; |
|
break; |
|
case "ArrowUp": |
|
this.forward=true; |
|
break; |
|
case "ArrowDown": |
|
this.reverse=true; |
|
break; |
|
} |
|
} |
|
document.onkeyup=(event)=>{ |
|
switch(event.key){ |
|
case "ArrowLeft": |
|
this.left=false; |
|
break; |
|
case "ArrowRight": |
|
this.right=false; |
|
break; |
|
case "ArrowUp": |
|
this.forward=false; |
|
break; |
|
case "ArrowDown": |
|
this.reverse=false; |
|
break; |
|
} |
|
} |
|
} |
|
} |