Merge branch 'develop' of github.com:thecodingmachine/workadventure into develop
This commit is contained in:
@@ -76,6 +76,7 @@ import { contactPageStore } from "../../Stores/MenuStore";
|
||||
import type { WasCameraUpdatedEvent } from "../../Api/Events/WasCameraUpdatedEvent";
|
||||
import { audioManagerFileStore } from "../../Stores/AudioManagerStore";
|
||||
import { currentPlayerGroupLockStateStore } from "../../Stores/CurrentPlayerGroupStore";
|
||||
import { errorScreenStore } from "../../Stores/ErrorScreenStore";
|
||||
|
||||
import EVENT_TYPE = Phaser.Scenes.Events;
|
||||
import Texture = Phaser.Textures.Texture;
|
||||
@@ -90,8 +91,8 @@ import FILE_LOAD_ERROR = Phaser.Loader.Events.FILE_LOAD_ERROR;
|
||||
import { MapStore } from "../../Stores/Utils/MapStore";
|
||||
import { followUsersColorStore } from "../../Stores/FollowStore";
|
||||
import { GameSceneUserInputHandler } from "../UserInput/GameSceneUserInputHandler";
|
||||
import { locale } from "../../i18n/i18n-svelte";
|
||||
import { i18nJson } from "../../i18n/locales";
|
||||
import LL, { locale } from "../../i18n/i18n-svelte";
|
||||
import { availabilityStatusStore, localVolumeStore } from "../../Stores/MediaStore";
|
||||
import { StringUtils } from "../../Utils/StringUtils";
|
||||
import { startLayerNamesStore } from "../../Stores/StartLayerNamesStore";
|
||||
@@ -101,7 +102,9 @@ import type { CoWebsite } from "../../WebRtc/CoWebsite/CoWesbite";
|
||||
import CancelablePromise from "cancelable-promise";
|
||||
import { Deferred } from "ts-deferred";
|
||||
import { SuperLoaderPlugin } from "../Services/SuperLoaderPlugin";
|
||||
import { PlayerDetailsUpdatedMessage } from "../../Messages/ts-proto-generated/protos/messages";
|
||||
import { DEPTH_BUBBLE_CHAT_SPRITE } from "./DepthIndexes";
|
||||
import { ErrorScreenMessage, PlayerDetailsUpdatedMessage } from "../../Messages/ts-proto-generated/protos/messages";
|
||||
import { uiWebsiteManager } from "./UI/UIWebsiteManager";
|
||||
export interface GameSceneInitInterface {
|
||||
initPosition: PointInterface | null;
|
||||
reconnecting: boolean;
|
||||
@@ -613,14 +616,30 @@ export class GameScene extends DirtyScene {
|
||||
if (this.isReconnecting) {
|
||||
setTimeout(() => {
|
||||
this.scene.sleep();
|
||||
this.scene.launch(ReconnectingSceneName);
|
||||
errorScreenStore.setError(
|
||||
ErrorScreenMessage.fromPartial({
|
||||
type: "reconnecting",
|
||||
code: "CONNECTION_LOST",
|
||||
title: get(LL).warning.connectionLostTitle(),
|
||||
details: get(LL).warning.connectionLostSubtitle(),
|
||||
})
|
||||
);
|
||||
//this.scene.launch(ReconnectingSceneName);
|
||||
}, 0);
|
||||
} else if (this.connection === undefined) {
|
||||
// Let's wait 1 second before printing the "connecting" screen to avoid blinking
|
||||
setTimeout(() => {
|
||||
if (this.connection === undefined) {
|
||||
this.scene.sleep();
|
||||
this.scene.launch(ReconnectingSceneName);
|
||||
errorScreenStore.setError(
|
||||
ErrorScreenMessage.fromPartial({
|
||||
type: "reconnecting",
|
||||
code: "CONNECTION_LOST",
|
||||
title: get(LL).warning.connectionLostTitle(),
|
||||
details: get(LL).warning.connectionLostSubtitle(),
|
||||
})
|
||||
);
|
||||
//this.scene.launch(ReconnectingSceneName);
|
||||
}
|
||||
}, 1000);
|
||||
}
|
||||
@@ -904,7 +923,9 @@ export class GameScene extends DirtyScene {
|
||||
// Analyze tags to find if we are admin. If yes, show console.
|
||||
|
||||
if (this.scene.isSleeping()) {
|
||||
this.scene.stop(ReconnectingSceneName);
|
||||
const error = get(errorScreenStore);
|
||||
if (error && error?.type === "reconnecting") errorScreenStore.delete();
|
||||
//this.scene.stop(ReconnectingSceneName);
|
||||
}
|
||||
|
||||
//init user position and play trigger to check layers properties
|
||||
@@ -1111,6 +1132,24 @@ export class GameScene extends DirtyScene {
|
||||
})
|
||||
);
|
||||
|
||||
this.iframeSubscriptionList.push(
|
||||
iframeListener.enablePlayerControlStream.subscribe(() => {
|
||||
this.userInputManager.restoreControls();
|
||||
})
|
||||
);
|
||||
|
||||
this.iframeSubscriptionList.push(
|
||||
iframeListener.disablePlayerProximityMeetingStream.subscribe(() => {
|
||||
this.disableMediaBehaviors();
|
||||
})
|
||||
);
|
||||
|
||||
this.iframeSubscriptionList.push(
|
||||
iframeListener.enablePlayerProximityMeetingStream.subscribe(() => {
|
||||
this.enableMediaBehaviors();
|
||||
})
|
||||
);
|
||||
|
||||
this.iframeSubscriptionList.push(
|
||||
iframeListener.cameraSetStream.subscribe((cameraSetEvent) => {
|
||||
const duration = cameraSetEvent.smooth ? 1000 : 0;
|
||||
@@ -1198,11 +1237,6 @@ export class GameScene extends DirtyScene {
|
||||
})
|
||||
);
|
||||
|
||||
this.iframeSubscriptionList.push(
|
||||
iframeListener.enablePlayerControlStream.subscribe(() => {
|
||||
this.userInputManager.restoreControls();
|
||||
})
|
||||
);
|
||||
this.iframeSubscriptionList.push(
|
||||
iframeListener.loadPageStream.subscribe((url: string) => {
|
||||
this.loadNextGameFromExitUrl(url)
|
||||
@@ -1225,7 +1259,7 @@ export class GameScene extends DirtyScene {
|
||||
this.CurrentPlayer.y,
|
||||
"circleSprite-white"
|
||||
);
|
||||
scriptedBubbleSprite.setDisplayOrigin(48, 48);
|
||||
scriptedBubbleSprite.setDisplayOrigin(48, 48).setDepth(DEPTH_BUBBLE_CHAT_SPRITE);
|
||||
this.add.existing(scriptedBubbleSprite);
|
||||
})
|
||||
);
|
||||
@@ -1313,6 +1347,17 @@ export class GameScene extends DirtyScene {
|
||||
data.propertyValue = this.gameMap.getLayerProperty(data.layerName, data.propertyName);
|
||||
return data;
|
||||
});
|
||||
iframeListener.registerAnswerer("openUIWebsite", (websiteConfig) => {
|
||||
return uiWebsiteManager.open(websiteConfig);
|
||||
});
|
||||
|
||||
iframeListener.registerAnswerer("getUIWebsites", () => {
|
||||
return uiWebsiteManager.getAll();
|
||||
});
|
||||
|
||||
iframeListener.registerAnswerer("closeUIWebsite", (websiteId) => {
|
||||
return uiWebsiteManager.close(websiteId);
|
||||
});
|
||||
|
||||
iframeListener.registerAnswerer("getMapData", () => {
|
||||
return {
|
||||
@@ -1610,6 +1655,9 @@ export class GameScene extends DirtyScene {
|
||||
iframeListener.unregisterAnswerer("getCoWebsites");
|
||||
iframeListener.unregisterAnswerer("setPlayerOutline");
|
||||
iframeListener.unregisterAnswerer("setVariable");
|
||||
iframeListener.unregisterAnswerer("openUIWebsite");
|
||||
iframeListener.unregisterAnswerer("getUIWebsites");
|
||||
iframeListener.unregisterAnswerer("closeUIWebsite");
|
||||
this.sharedVariablesManager?.close();
|
||||
this.embeddedWebsiteManager?.close();
|
||||
|
||||
@@ -2079,7 +2127,7 @@ export class GameScene extends DirtyScene {
|
||||
? "circleSprite-red"
|
||||
: "circleSprite-white"
|
||||
);
|
||||
sprite.setDisplayOrigin(48, 48);
|
||||
sprite.setDisplayOrigin(48, 48).setDepth(DEPTH_BUBBLE_CHAT_SPRITE);
|
||||
this.add.existing(sprite);
|
||||
this.groups.set(groupPositionMessage.groupId, sprite);
|
||||
if (this.currentPlayerGroupId === groupPositionMessage.groupId) {
|
||||
|
||||
Reference in New Issue
Block a user