fetch textures every time character or customize scene is open
This commit is contained in:
committed by
David Négrier
parent
063de6d1ca
commit
d65fe0ee26
@@ -5,7 +5,7 @@ import Sprite = Phaser.GameObjects.Sprite;
|
|||||||
import { gameManager } from "../Game/GameManager";
|
import { gameManager } from "../Game/GameManager";
|
||||||
import { localUserStore } from "../../Connexion/LocalUserStore";
|
import { localUserStore } from "../../Connexion/LocalUserStore";
|
||||||
import { Loader } from "../Components/Loader";
|
import { Loader } from "../Components/Loader";
|
||||||
import type { BodyResourceDescriptionInterface } from "../Entity/PlayerTextures";
|
import { BodyResourceDescriptionInterface, PlayerTextures } from "../Entity/PlayerTextures";
|
||||||
import { AbstractCharacterScene } from "./AbstractCharacterScene";
|
import { AbstractCharacterScene } from "./AbstractCharacterScene";
|
||||||
import { areCharacterLayersValid } from "../../Connexion/LocalUser";
|
import { areCharacterLayersValid } from "../../Connexion/LocalUser";
|
||||||
import { SelectCharacterSceneName } from "./SelectCharacterScene";
|
import { SelectCharacterSceneName } from "./SelectCharacterScene";
|
||||||
@@ -15,6 +15,7 @@ import { CustomizedCharacter } from "../Entity/CustomizedCharacter";
|
|||||||
import { get } from "svelte/store";
|
import { get } from "svelte/store";
|
||||||
import { analyticsClient } from "../../Administration/AnalyticsClient";
|
import { analyticsClient } from "../../Administration/AnalyticsClient";
|
||||||
import { isMediaBreakpointUp } from "../../Utils/BreakpointsUtils";
|
import { isMediaBreakpointUp } from "../../Utils/BreakpointsUtils";
|
||||||
|
import { PUSHER_URL } from "../../Enum/EnvironmentVariable";
|
||||||
|
|
||||||
export const CustomizeSceneName = "CustomizeScene";
|
export const CustomizeSceneName = "CustomizeScene";
|
||||||
|
|
||||||
@@ -31,15 +32,22 @@ export class CustomizeScene extends AbstractCharacterScene {
|
|||||||
private moveVertically: number = 0;
|
private moveVertically: number = 0;
|
||||||
|
|
||||||
private loader: Loader;
|
private loader: Loader;
|
||||||
|
private playerTextures: PlayerTextures;
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
super({
|
super({
|
||||||
key: CustomizeSceneName,
|
key: CustomizeSceneName,
|
||||||
});
|
});
|
||||||
this.loader = new Loader(this);
|
this.loader = new Loader(this);
|
||||||
|
this.playerTextures = new PlayerTextures();
|
||||||
}
|
}
|
||||||
|
|
||||||
preload() {
|
preload() {
|
||||||
|
const wokaMetadataKey = "woka-list";
|
||||||
|
this.cache.json.remove(wokaMetadataKey);
|
||||||
|
this.load.json(wokaMetadataKey, `${PUSHER_URL}/${wokaMetadataKey}`);
|
||||||
|
this.load.once(`filecomplete-json-${wokaMetadataKey}`, () => {
|
||||||
|
this.playerTextures.loadPlayerTexturesMetadata(this.cache.json.get(wokaMetadataKey));
|
||||||
this.loadCustomSceneSelectCharacters()
|
this.loadCustomSceneSelectCharacters()
|
||||||
.then((bodyResourceDescriptions) => {
|
.then((bodyResourceDescriptions) => {
|
||||||
bodyResourceDescriptions.forEach((bodyResourceDescription) => {
|
bodyResourceDescriptions.forEach((bodyResourceDescription) => {
|
||||||
@@ -61,6 +69,7 @@ export class CustomizeScene extends AbstractCharacterScene {
|
|||||||
|
|
||||||
//this function must stay at the end of preload function
|
//this function must stay at the end of preload function
|
||||||
this.loader.addLoader();
|
this.loader.addLoader();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
create() {
|
create() {
|
||||||
@@ -287,14 +296,14 @@ export class CustomizeScene extends AbstractCharacterScene {
|
|||||||
analyticsClient.validationWoka("CustomizeWoka");
|
analyticsClient.validationWoka("CustomizeWoka");
|
||||||
|
|
||||||
gameManager.setCharacterLayers(layers);
|
gameManager.setCharacterLayers(layers);
|
||||||
this.scene.sleep(CustomizeSceneName);
|
this.scene.stop(CustomizeSceneName);
|
||||||
waScaleManager.restoreZoom();
|
waScaleManager.restoreZoom();
|
||||||
gameManager.tryResumingGame(EnableCameraSceneName);
|
gameManager.tryResumingGame(EnableCameraSceneName);
|
||||||
customCharacterSceneVisibleStore.set(false);
|
customCharacterSceneVisibleStore.set(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public backToPreviousScene() {
|
public backToPreviousScene() {
|
||||||
this.scene.sleep(CustomizeSceneName);
|
this.scene.stop(CustomizeSceneName);
|
||||||
waScaleManager.restoreZoom();
|
waScaleManager.restoreZoom();
|
||||||
this.scene.run(SelectCharacterSceneName);
|
this.scene.run(SelectCharacterSceneName);
|
||||||
customCharacterSceneVisibleStore.set(false);
|
customCharacterSceneVisibleStore.set(false);
|
||||||
|
|||||||
@@ -44,9 +44,11 @@ export class SelectCharacterScene extends AbstractCharacterScene {
|
|||||||
}
|
}
|
||||||
|
|
||||||
preload() {
|
preload() {
|
||||||
this.load.json("woka-list", `${PUSHER_URL}/woka-list`);
|
const wokaMetadataKey = "woka-list";
|
||||||
this.load.on("filecomplete-json-woka-list", () => {
|
this.cache.json.remove(wokaMetadataKey);
|
||||||
this.playerTextures.loadPlayerTexturesMetadata(this.cache.json.get("woka-list"));
|
this.load.json(wokaMetadataKey, `${PUSHER_URL}/${wokaMetadataKey}`);
|
||||||
|
this.load.once(`filecomplete-json-${wokaMetadataKey}`, () => {
|
||||||
|
this.playerTextures.loadPlayerTexturesMetadata(this.cache.json.get(wokaMetadataKey));
|
||||||
this.loadSelectSceneCharacters()
|
this.loadSelectSceneCharacters()
|
||||||
.then((bodyResourceDescriptions) => {
|
.then((bodyResourceDescriptions) => {
|
||||||
bodyResourceDescriptions.forEach((bodyResourceDescription) => {
|
bodyResourceDescriptions.forEach((bodyResourceDescription) => {
|
||||||
@@ -254,9 +256,9 @@ export class SelectCharacterScene extends AbstractCharacterScene {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected updateSelectedPlayer(): void {
|
protected updateSelectedPlayer(): void {
|
||||||
this.selectedPlayer?.anims.pause(this.selectedPlayer?.anims.currentAnim.frames[0]);
|
this.selectedPlayer?.anims?.pause(this.selectedPlayer?.anims.currentAnim.frames[0]);
|
||||||
const player = this.players[this.currentSelectUser];
|
const player = this.players[this.currentSelectUser];
|
||||||
player.play(this.playerModels[this.currentSelectUser].name);
|
player?.play(this.playerModels[this.currentSelectUser].name);
|
||||||
this.selectedPlayer = player;
|
this.selectedPlayer = player;
|
||||||
localUserStore.setPlayerCharacterIndex(this.currentSelectUser);
|
localUserStore.setPlayerCharacterIndex(this.currentSelectUser);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user