reset menu items on map change
This commit is contained in:
parent
4069e87872
commit
6295c8275e
@ -90,6 +90,7 @@ import {LayersIterator} from "../Map/LayersIterator";
|
|||||||
import {touchScreenManager} from "../../Touch/TouchScreenManager";
|
import {touchScreenManager} from "../../Touch/TouchScreenManager";
|
||||||
import {PinchManager} from "../UserInput/PinchManager";
|
import {PinchManager} from "../UserInput/PinchManager";
|
||||||
import {joystickBaseImg, joystickBaseKey, joystickThumbImg, joystickThumbKey} from "../Components/MobileJoystick";
|
import {joystickBaseImg, joystickBaseKey, joystickThumbImg, joystickThumbKey} from "../Components/MobileJoystick";
|
||||||
|
import { MenuScene, MenuSceneName } from '../Menu/MenuScene';
|
||||||
|
|
||||||
export interface GameSceneInitInterface {
|
export interface GameSceneInitInterface {
|
||||||
initPosition: PointInterface|null,
|
initPosition: PointInterface|null,
|
||||||
@ -880,6 +881,8 @@ ${escapedMessage}
|
|||||||
const {roomId, hash} = Room.getIdFromIdentifier(exitKey, this.MapUrlFile, this.instance);
|
const {roomId, hash} = Room.getIdFromIdentifier(exitKey, this.MapUrlFile, this.instance);
|
||||||
if (!roomId) throw new Error('Could not find the room from its exit key: '+exitKey);
|
if (!roomId) throw new Error('Could not find the room from its exit key: '+exitKey);
|
||||||
urlManager.pushStartLayerNameToUrl(hash);
|
urlManager.pushStartLayerNameToUrl(hash);
|
||||||
|
const menuScene: MenuScene = this.scene.get(MenuSceneName) as MenuScene
|
||||||
|
menuScene.reset()
|
||||||
if (roomId !== this.scene.key) {
|
if (roomId !== this.scene.key) {
|
||||||
if (this.scene.get(roomId) === null) {
|
if (this.scene.get(roomId) === null) {
|
||||||
console.error("next room not loaded", exitKey);
|
console.error("next room not loaded", exitKey);
|
||||||
|
@ -38,10 +38,6 @@ export class MenuScene extends Phaser.Scene {
|
|||||||
private menuButton!: Phaser.GameObjects.DOMElement;
|
private menuButton!: Phaser.GameObjects.DOMElement;
|
||||||
private warningContainer: WarningContainer | null = null;
|
private warningContainer: WarningContainer | null = null;
|
||||||
private warningContainerTimeout: NodeJS.Timeout | null = null;
|
private warningContainerTimeout: NodeJS.Timeout | null = null;
|
||||||
|
|
||||||
private apiMenus = []
|
|
||||||
|
|
||||||
|
|
||||||
private subscriptions = new Subscription()
|
private subscriptions = new Subscription()
|
||||||
constructor() {
|
constructor() {
|
||||||
super({key: MenuSceneName});
|
super({key: MenuSceneName});
|
||||||
@ -64,6 +60,13 @@ export class MenuScene extends Phaser.Scene {
|
|||||||
this.load.html(warningContainerKey, warningContainerHtml);
|
this.load.html(warningContainerKey, warningContainerHtml);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
reset() {
|
||||||
|
const addedMenuItems=[...this.menuElement.node.querySelectorAll(".fromApi")];
|
||||||
|
for(let index=addedMenuItems.length-1;index>=0;index--){
|
||||||
|
addedMenuItems[index].remove()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
create() {
|
create() {
|
||||||
this.menuElement = this.add.dom(closedSideMenuX, 30).createFromCache(gameMenuKey);
|
this.menuElement = this.add.dom(closedSideMenuX, 30).createFromCache(gameMenuKey);
|
||||||
this.menuElement.setOrigin(0);
|
this.menuElement.setOrigin(0);
|
||||||
|
Loading…
Reference in New Issue
Block a user