Refactor pointer lock detection and simplify event listeners in navigation controller
This commit is contained in:
@@ -234,7 +234,7 @@ export class ThirdPersonNavigationController implements NavigationController {
|
||||
this.initializedFromSpawn = true;
|
||||
}
|
||||
|
||||
window.addEventListener("keydown", this.handleKeyDown, true);
|
||||
window.addEventListener("keydown", this.handleKeyDown);
|
||||
window.addEventListener("keyup", this.handleKeyUp);
|
||||
window.addEventListener("blur", this.handleBlur);
|
||||
document.addEventListener("mousemove", this.handleMouseMove);
|
||||
@@ -279,7 +279,7 @@ export class ThirdPersonNavigationController implements NavigationController {
|
||||
ctx: RuntimeControllerContext,
|
||||
options: NavigationControllerDeactivateOptions = {}
|
||||
): void {
|
||||
window.removeEventListener("keydown", this.handleKeyDown, true);
|
||||
window.removeEventListener("keydown", this.handleKeyDown);
|
||||
window.removeEventListener("keyup", this.handleKeyUp);
|
||||
window.removeEventListener("blur", this.handleBlur);
|
||||
document.removeEventListener("mousemove", this.handleMouseMove);
|
||||
@@ -854,20 +854,6 @@ export class ThirdPersonNavigationController implements NavigationController {
|
||||
|
||||
private handleKeyDown = (event: KeyboardEvent) => {
|
||||
this.pressedKeys.add(event.code);
|
||||
|
||||
if (
|
||||
event.code === "Escape" &&
|
||||
this.context !== null &&
|
||||
(this.pointerLocked ||
|
||||
document.pointerLockElement === this.context.domElement)
|
||||
) {
|
||||
event.preventDefault();
|
||||
event.stopImmediatePropagation();
|
||||
|
||||
if (document.pointerLockElement === this.context.domElement) {
|
||||
document.exitPointerLock();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
private handleKeyUp = (event: KeyboardEvent) => {
|
||||
|
||||
Reference in New Issue
Block a user