Save zoom level in the gameScene and restore it after the SelectCharacterScene and CustomizeScene
This commit is contained in:
parent
ba038dc75a
commit
59d60f54fe
@ -29,8 +29,6 @@ export class CustomizeScene extends AbstractCharacterScene {
|
|||||||
public activeRow:number = 0;
|
public activeRow:number = 0;
|
||||||
private layers: BodyResourceDescriptionInterface[][] = [];
|
private layers: BodyResourceDescriptionInterface[][] = [];
|
||||||
|
|
||||||
private customizeSceneElement!: Phaser.GameObjects.DOMElement;
|
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
super({
|
super({
|
||||||
key: CustomizeSceneName
|
key: CustomizeSceneName
|
||||||
@ -54,15 +52,16 @@ export class CustomizeScene extends AbstractCharacterScene {
|
|||||||
addLoader(this);
|
addLoader(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
create(data: { from: string; }) {
|
create() {
|
||||||
customCharacterSceneVisibleStore.set(true);
|
customCharacterSceneVisibleStore.set(true);
|
||||||
this.events.addListener('wake', () => { customCharacterSceneVisibleStore.set(true); });
|
this.events.addListener('wake', () => {
|
||||||
|
|
||||||
if (data.from === 'NoScene') {
|
|
||||||
//Save the zoom level only if the previous scene didn't already save it
|
|
||||||
waScaleManager.saveZoom();
|
waScaleManager.saveZoom();
|
||||||
}
|
waScaleManager.zoomModifier = isMobile() ? 3 : 1;
|
||||||
waScaleManager.zoomModifier = isMobile() ? 2 : 1;
|
customCharacterSceneVisibleStore.set(true);
|
||||||
|
});
|
||||||
|
|
||||||
|
waScaleManager.saveZoom();
|
||||||
|
waScaleManager.zoomModifier = isMobile() ? 3 : 1;
|
||||||
|
|
||||||
this.Rectangle = this.add.rectangle(this.cameras.main.worldView.x + this.cameras.main.width / 2, this.cameras.main.worldView.y + this.cameras.main.height / 3, 32, 33)
|
this.Rectangle = this.add.rectangle(this.cameras.main.worldView.x + this.cameras.main.width / 2, this.cameras.main.worldView.y + this.cameras.main.height / 3, 32, 33)
|
||||||
this.Rectangle.setStrokeStyle(2, 0xFFFFFF);
|
this.Rectangle.setStrokeStyle(2, 0xFFFFFF);
|
||||||
@ -246,12 +245,14 @@ export class CustomizeScene extends AbstractCharacterScene {
|
|||||||
gameManager.setCharacterLayers(layers);
|
gameManager.setCharacterLayers(layers);
|
||||||
this.scene.sleep(CustomizeSceneName);
|
this.scene.sleep(CustomizeSceneName);
|
||||||
waScaleManager.restoreZoom();
|
waScaleManager.restoreZoom();
|
||||||
|
this.events.removeListener('wake');
|
||||||
gameManager.tryResumingGame(this, EnableCameraSceneName);
|
gameManager.tryResumingGame(this, EnableCameraSceneName);
|
||||||
customCharacterSceneVisibleStore.set(false);
|
customCharacterSceneVisibleStore.set(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
private backToPreviousScene(){
|
private backToPreviousScene(){
|
||||||
this.scene.sleep(CustomizeSceneName);
|
this.scene.sleep(CustomizeSceneName);
|
||||||
|
waScaleManager.restoreZoom();
|
||||||
this.scene.run(SelectCharacterSceneName);
|
this.scene.run(SelectCharacterSceneName);
|
||||||
customCharacterSceneVisibleStore.set(false);
|
customCharacterSceneVisibleStore.set(false);
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,9 @@
|
|||||||
import { SelectCharacterScene } from "./SelectCharacterScene";
|
import { SelectCharacterScene } from "./SelectCharacterScene";
|
||||||
import {waScaleManager} from "../Services/WaScaleManager";
|
|
||||||
|
|
||||||
export class SelectCharacterMobileScene extends SelectCharacterScene {
|
export class SelectCharacterMobileScene extends SelectCharacterScene {
|
||||||
|
|
||||||
create(){
|
create(){
|
||||||
super.create();
|
super.create();
|
||||||
waScaleManager.zoomModifier = 2;
|
|
||||||
this.onResize();
|
this.onResize();
|
||||||
this.selectedRectangle.destroy();
|
this.selectedRectangle.destroy();
|
||||||
}
|
}
|
||||||
|
@ -14,6 +14,7 @@ import {MenuScene} from "../Menu/MenuScene";
|
|||||||
import {selectCharacterSceneVisibleStore} from "../../Stores/SelectCharacterStore";
|
import {selectCharacterSceneVisibleStore} from "../../Stores/SelectCharacterStore";
|
||||||
import {customCharacterSceneVisibleStore} from "../../Stores/CustomCharacterStore";
|
import {customCharacterSceneVisibleStore} from "../../Stores/CustomCharacterStore";
|
||||||
import {waScaleManager} from "../Services/WaScaleManager";
|
import {waScaleManager} from "../Services/WaScaleManager";
|
||||||
|
import {isMobile} from "../../Enum/EnvironmentVariable";
|
||||||
|
|
||||||
//todo: put this constants in a dedicated file
|
//todo: put this constants in a dedicated file
|
||||||
export const SelectCharacterSceneName = "SelectCharacterScene";
|
export const SelectCharacterSceneName = "SelectCharacterScene";
|
||||||
@ -30,6 +31,7 @@ export class SelectCharacterScene extends AbstractCharacterScene {
|
|||||||
|
|
||||||
protected selectCharacterSceneElement!: Phaser.GameObjects.DOMElement;
|
protected selectCharacterSceneElement!: Phaser.GameObjects.DOMElement;
|
||||||
protected currentSelectUser = 0;
|
protected currentSelectUser = 0;
|
||||||
|
protected pointerClicked: boolean = false;
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
super({
|
super({
|
||||||
@ -53,14 +55,18 @@ export class SelectCharacterScene extends AbstractCharacterScene {
|
|||||||
|
|
||||||
create() {
|
create() {
|
||||||
selectCharacterSceneVisibleStore.set(true);
|
selectCharacterSceneVisibleStore.set(true);
|
||||||
this.events.addListener('wake', () => {selectCharacterSceneVisibleStore.set(true);});
|
this.events.addListener('wake', () => {
|
||||||
|
waScaleManager.saveZoom();
|
||||||
|
waScaleManager.zoomModifier = isMobile() ? 2 : 1;
|
||||||
|
selectCharacterSceneVisibleStore.set(true);
|
||||||
|
});
|
||||||
|
|
||||||
if (touchScreenManager.supportTouchScreen) {
|
if (touchScreenManager.supportTouchScreen) {
|
||||||
new PinchManager(this);
|
new PinchManager(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
waScaleManager.saveZoom();
|
waScaleManager.saveZoom();
|
||||||
waScaleManager.zoomModifier = 1;
|
waScaleManager.zoomModifier = isMobile() ? 2 : 1;
|
||||||
|
|
||||||
const rectangleXStart = this.game.renderer.width / 2 - (this.nbCharactersPerRow / 2) * 32 + 16;
|
const rectangleXStart = this.game.renderer.width / 2 - (this.nbCharactersPerRow / 2) * 32 + 16;
|
||||||
this.selectedRectangle = this.add.rectangle(rectangleXStart, 90, 32, 32).setStrokeStyle(2, 0xFFFFFF);
|
this.selectedRectangle = this.add.rectangle(rectangleXStart, 90, 32, 32).setStrokeStyle(2, 0xFFFFFF);
|
||||||
@ -100,6 +106,7 @@ export class SelectCharacterScene extends AbstractCharacterScene {
|
|||||||
gameManager.tryResumingGame(this, EnableCameraSceneName);
|
gameManager.tryResumingGame(this, EnableCameraSceneName);
|
||||||
this.players = [];
|
this.players = [];
|
||||||
selectCharacterSceneVisibleStore.set(false);
|
selectCharacterSceneVisibleStore.set(false);
|
||||||
|
this.events.removeListener('wake');
|
||||||
}
|
}
|
||||||
|
|
||||||
protected nextSceneToCustomizeScene(): void {
|
protected nextSceneToCustomizeScene(): void {
|
||||||
@ -107,7 +114,8 @@ export class SelectCharacterScene extends AbstractCharacterScene {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.scene.sleep(SelectCharacterSceneName);
|
this.scene.sleep(SelectCharacterSceneName);
|
||||||
this.scene.run(CustomizeSceneName, {from: 'SelectCharacter'});
|
waScaleManager.restoreZoom();
|
||||||
|
this.scene.run(CustomizeSceneName);
|
||||||
selectCharacterSceneVisibleStore.set(false);
|
selectCharacterSceneVisibleStore.set(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -125,11 +133,13 @@ export class SelectCharacterScene extends AbstractCharacterScene {
|
|||||||
repeat: -1
|
repeat: -1
|
||||||
});
|
});
|
||||||
player.setInteractive().on("pointerdown", () => {
|
player.setInteractive().on("pointerdown", () => {
|
||||||
if(this.currentSelectUser === i){
|
if (this.pointerClicked || this.currentSelectUser === i) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
this.pointerClicked = true;
|
||||||
this.currentSelectUser = i;
|
this.currentSelectUser = i;
|
||||||
this.moveUser();
|
this.moveUser();
|
||||||
|
setTimeout(() => {this.pointerClicked = false;}, 100);
|
||||||
});
|
});
|
||||||
this.players.push(player);
|
this.players.push(player);
|
||||||
}
|
}
|
||||||
|
@ -60,6 +60,7 @@ class WaScaleManager {
|
|||||||
|
|
||||||
public saveZoom(): void {
|
public saveZoom(): void {
|
||||||
this._saveZoom = this.hdpiManager.zoomModifier;
|
this._saveZoom = this.hdpiManager.zoomModifier;
|
||||||
|
console.log(this._saveZoom);
|
||||||
}
|
}
|
||||||
|
|
||||||
public restoreZoom(): void{
|
public restoreZoom(): void{
|
||||||
|
Loading…
Reference in New Issue
Block a user