From c435b7451e04d56bc4bb16fc4e5a9c31d55a730c Mon Sep 17 00:00:00 2001 From: GRL Date: Thu, 3 Jun 2021 16:54:52 +0200 Subject: [PATCH 1/5] Update don't call createPlayer but call moveUser Change time of pointerclicked from 100ms to 250ms Suppression of console.log --- front/src/Phaser/Login/SelectCharacterScene.ts | 4 ++-- front/src/Phaser/Services/WaScaleManager.ts | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/front/src/Phaser/Login/SelectCharacterScene.ts b/front/src/Phaser/Login/SelectCharacterScene.ts index 0cfbbdef..b56e38f5 100644 --- a/front/src/Phaser/Login/SelectCharacterScene.ts +++ b/front/src/Phaser/Login/SelectCharacterScene.ts @@ -143,7 +143,7 @@ export class SelectCharacterScene extends AbstractCharacterScene { this.pointerClicked = true; this.currentSelectUser = i; this.moveUser(); - setTimeout(() => {this.pointerClicked = false;}, 100); + setTimeout(() => {this.pointerClicked = false;}, 250); }); this.players.push(player); } @@ -244,7 +244,7 @@ export class SelectCharacterScene extends AbstractCharacterScene { update(time: number, delta: number): void { if(this.lazyloadingAttempt){ - this.createCurrentPlayer(); + this.moveUser(); this.lazyloadingAttempt = false; } } diff --git a/front/src/Phaser/Services/WaScaleManager.ts b/front/src/Phaser/Services/WaScaleManager.ts index 4e0e9208..acbecc38 100644 --- a/front/src/Phaser/Services/WaScaleManager.ts +++ b/front/src/Phaser/Services/WaScaleManager.ts @@ -60,7 +60,6 @@ class WaScaleManager { public saveZoom(): void { this._saveZoom = this.hdpiManager.zoomModifier; - console.log(this._saveZoom); } public restoreZoom(): void{ From 02ff6fb5bf4a9718715b093e28984cd79996eed3 Mon Sep 17 00:00:00 2001 From: GRL Date: Thu, 3 Jun 2021 17:08:56 +0200 Subject: [PATCH 2/5] Add timer so that pointerdown event can't be call two time in one click --- front/src/Phaser/Login/SelectCompanionScene.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/front/src/Phaser/Login/SelectCompanionScene.ts b/front/src/Phaser/Login/SelectCompanionScene.ts index 9caa88f7..8f641a3a 100644 --- a/front/src/Phaser/Login/SelectCompanionScene.ts +++ b/front/src/Phaser/Login/SelectCompanionScene.ts @@ -23,6 +23,7 @@ export class SelectCompanionScene extends ResizableScene { private saveZoom: number = 0; private currentCompanion = 0; + private pointerClicked: boolean = false; constructor() { super({ @@ -105,8 +106,13 @@ export class SelectCompanionScene extends ResizableScene { }); companion.setInteractive().on("pointerdown", () => { + if (this.pointerClicked) { + return; + } + this.pointerClicked = true; this.currentCompanion = i; this.moveCompanion(); + setTimeout(() => {this.pointerClicked = false;}, 250) }); this.companions.push(companion); From 0d2b1902222b244869a2eee93693496bea92cb3a Mon Sep 17 00:00:00 2001 From: GRL Date: Fri, 4 Jun 2021 09:39:33 +0200 Subject: [PATCH 3/5] Replace setTimeout by timer manage in Update --- front/src/Phaser/Login/SelectCharacterScene.ts | 13 +++++++++++-- front/src/Phaser/Login/SelectCompanionScene.ts | 8 ++++++-- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/front/src/Phaser/Login/SelectCharacterScene.ts b/front/src/Phaser/Login/SelectCharacterScene.ts index b56e38f5..052e5900 100644 --- a/front/src/Phaser/Login/SelectCharacterScene.ts +++ b/front/src/Phaser/Login/SelectCharacterScene.ts @@ -32,6 +32,7 @@ export class SelectCharacterScene extends AbstractCharacterScene { protected selectCharacterSceneElement!: Phaser.GameObjects.DOMElement; protected currentSelectUser = 0; protected pointerClicked: boolean = false; + protected pointerTimer: number = 0; protected lazyloadingAttempt = true; //permit to update texture loaded after renderer @@ -137,13 +138,16 @@ export class SelectCharacterScene extends AbstractCharacterScene { repeat: -1 }); player.setInteractive().on("pointerdown", () => { - if (this.pointerClicked || this.currentSelectUser === i) { + if (this.pointerClicked) { + return; + } + if (this.currentSelectUser === i) { return; } this.pointerClicked = true; + this.pointerTimer = 250; this.currentSelectUser = i; this.moveUser(); - setTimeout(() => {this.pointerClicked = false;}, 250); }); this.players.push(player); } @@ -243,6 +247,11 @@ export class SelectCharacterScene extends AbstractCharacterScene { } update(time: number, delta: number): void { + this.pointerTimer -= delta; + if (this.pointerTimer <= 0) { + this.pointerClicked = false; + } + if(this.lazyloadingAttempt){ this.moveUser(); this.lazyloadingAttempt = false; diff --git a/front/src/Phaser/Login/SelectCompanionScene.ts b/front/src/Phaser/Login/SelectCompanionScene.ts index 8f641a3a..b240a553 100644 --- a/front/src/Phaser/Login/SelectCompanionScene.ts +++ b/front/src/Phaser/Login/SelectCompanionScene.ts @@ -24,6 +24,7 @@ export class SelectCompanionScene extends ResizableScene { private currentCompanion = 0; private pointerClicked: boolean = false; + private pointerTimer: number = 0; constructor() { super({ @@ -73,7 +74,10 @@ export class SelectCompanionScene extends ResizableScene { } update(time: number, delta: number): void { - + this.pointerTimer -= delta; + if (this.pointerTimer <= 0) { + this.pointerClicked = false; + } } public selectCompanion(): void { @@ -110,9 +114,9 @@ export class SelectCompanionScene extends ResizableScene { return; } this.pointerClicked = true; + this.pointerTimer = 250; this.currentCompanion = i; this.moveCompanion(); - setTimeout(() => {this.pointerClicked = false;}, 250) }); this.companions.push(companion); From dfb02af0f3fd84c53d86668383f2689630d4ba9a Mon Sep 17 00:00:00 2001 From: GRL Date: Mon, 7 Jun 2021 09:15:34 +0200 Subject: [PATCH 4/5] comment on pointerTimer and pointerClicked --- front/src/Phaser/Login/SelectCharacterScene.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/front/src/Phaser/Login/SelectCharacterScene.ts b/front/src/Phaser/Login/SelectCharacterScene.ts index 052e5900..552cd709 100644 --- a/front/src/Phaser/Login/SelectCharacterScene.ts +++ b/front/src/Phaser/Login/SelectCharacterScene.ts @@ -144,6 +144,9 @@ export class SelectCharacterScene extends AbstractCharacterScene { if (this.currentSelectUser === i) { return; } + //To not trigger two time the pointerdown events : + // We set a boolean to true so that pointerdown events does nothing when the boolean is true + // We set a timer that we decrease in update function to not trigger the pointerdown events twice this.pointerClicked = true; this.pointerTimer = 250; this.currentSelectUser = i; @@ -247,6 +250,8 @@ export class SelectCharacterScene extends AbstractCharacterScene { } update(time: number, delta: number): void { + // pointerTimer is set to 250 when pointerdown events is trigger + // After 250ms, pointerClicked is set to false and the pointerdown events can be trigger again this.pointerTimer -= delta; if (this.pointerTimer <= 0) { this.pointerClicked = false; From edfdc3bf47207214285164bb9c384a1503927991 Mon Sep 17 00:00:00 2001 From: GRL Date: Mon, 7 Jun 2021 09:15:34 +0200 Subject: [PATCH 5/5] comment on pointerTimer and pointerClicked --- front/src/Phaser/Login/SelectCharacterScene.ts | 5 +++++ front/src/Phaser/Login/SelectCompanionScene.ts | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/front/src/Phaser/Login/SelectCharacterScene.ts b/front/src/Phaser/Login/SelectCharacterScene.ts index 052e5900..552cd709 100644 --- a/front/src/Phaser/Login/SelectCharacterScene.ts +++ b/front/src/Phaser/Login/SelectCharacterScene.ts @@ -144,6 +144,9 @@ export class SelectCharacterScene extends AbstractCharacterScene { if (this.currentSelectUser === i) { return; } + //To not trigger two time the pointerdown events : + // We set a boolean to true so that pointerdown events does nothing when the boolean is true + // We set a timer that we decrease in update function to not trigger the pointerdown events twice this.pointerClicked = true; this.pointerTimer = 250; this.currentSelectUser = i; @@ -247,6 +250,8 @@ export class SelectCharacterScene extends AbstractCharacterScene { } update(time: number, delta: number): void { + // pointerTimer is set to 250 when pointerdown events is trigger + // After 250ms, pointerClicked is set to false and the pointerdown events can be trigger again this.pointerTimer -= delta; if (this.pointerTimer <= 0) { this.pointerClicked = false; diff --git a/front/src/Phaser/Login/SelectCompanionScene.ts b/front/src/Phaser/Login/SelectCompanionScene.ts index b240a553..4c29f942 100644 --- a/front/src/Phaser/Login/SelectCompanionScene.ts +++ b/front/src/Phaser/Login/SelectCompanionScene.ts @@ -74,6 +74,8 @@ export class SelectCompanionScene extends ResizableScene { } update(time: number, delta: number): void { + // pointerTimer is set to 250 when pointerdown events is trigger + // After 250ms, pointerClicked is set to false and the pointerdown events can be trigger again this.pointerTimer -= delta; if (this.pointerTimer <= 0) { this.pointerClicked = false; @@ -113,6 +115,9 @@ export class SelectCompanionScene extends ResizableScene { if (this.pointerClicked) { return; } + //To not trigger two time the pointerdown events : + // We set a boolean to true so that pointerdown events does nothing when the boolean is true + // We set a timer that we decrease in update function to not trigger the pointerdown events twice this.pointerClicked = true; this.pointerTimer = 250; this.currentCompanion = i;