Merge branch 'develop' of github.com:thecodingmachine/workadventure

This commit is contained in:
_Bastler 2021-10-06 16:16:12 +02:00
commit fa61e42b1d
8 changed files with 38 additions and 46 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 516 B

After

Width:  |  Height:  |  Size: 389 B

View File

@ -1,39 +1,60 @@
<script lang="typescript"> <script lang="typescript">
import logoWA from "../images/menu.svg" import logoWA from "../images/menu.svg"
import {menuVisiblilityStore} from "../../Stores/MenuStore"; import logoTalk from "../images/chat.svg"
import {get} from "svelte/store"; import { menuVisiblilityStore } from "../../Stores/MenuStore";
import { chatVisibilityStore } from "../../Stores/ChatStore";
import { get } from "svelte/store";
function showMenu(){ function showMenu() {
menuVisiblilityStore.set(!get(menuVisiblilityStore)) menuVisiblilityStore.set(!get(menuVisiblilityStore))
} }
function showChat() {
chatVisibilityStore.set(true);
}
function onKeyDown(e: KeyboardEvent) { function onKeyDown(e: KeyboardEvent) {
if (e.key === "Tab") { if (e.key === "Tab") {
showMenu(); showMenu();
}
} }
}
</script> </script>
<svelte:window on:keydown={onKeyDown}/> <svelte:window on:keydown={onKeyDown} />
<main class="menuIcon nes-btn is-dark" on:click|preventDefault={showMenu}> <main class="menuIcon">
<img src={logoWA} alt="open menu" class="nes-pointer" > <span class=" nes-btn is-dark">
<img src={logoWA} alt="open menu" on:click|preventDefault={showMenu}>
</span>
<span class=" nes-btn is-dark">
<img src={logoTalk} alt="open menu" on:click|preventDefault={showChat}>
</span>
</main> </main>
<style lang="scss"> <style lang="scss">
.menuIcon { .menuIcon {
pointer-events: auto; display: inline-grid;
margin: 25px; margin: 25px;
img { img {
pointer-events: auto;
width: 24px; width: 24px;
padding-top: 0;
margin: 3px
} }
} }
@media only screen and (max-width: 800px), only screen and (max-height: 800px) {
.menuIcon img:hover {
transform: scale(1.2);
}
@media only screen and (max-width: 800px),
only screen and (max-height: 800px) {
.menuIcon { .menuIcon {
margin: 6px; margin: 6px;
img { img {
width: 16px; width: 16px;
} }
} }
} }
</style> </style>

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#FFFFFF"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M15 4v7H5.17L4 12.17V4h11m1-2H3c-.55 0-1 .45-1 1v14l4-4h10c.55 0 1-.45 1-1V3c0-.55-.45-1-1-1zm5 4h-2v9H6v2c0 .55.45 1 1 1h11l4 4V7c0-.55-.45-1-1-1z"/></svg>

After

Width:  |  Height:  |  Size: 306 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 389 B

View File

@ -1,17 +0,0 @@
import { DEPTH_INGAME_TEXT_INDEX } from "../Game/DepthIndexes";
import { chatVisibilityStore } from "../../Stores/ChatStore";
export const openChatIconName = "openChatIcon";
export class OpenChatIcon extends Phaser.GameObjects.Image {
constructor(scene: Phaser.Scene, x: number, y: number) {
super(scene, x, y, openChatIconName, 3);
scene.add.existing(this);
this.setScrollFactor(0, 0);
this.setOrigin(0, 1);
this.setInteractive();
//this.setVisible(false);
this.setDepth(DEPTH_INGAME_TEXT_INDEX);
this.on("pointerup", () => chatVisibilityStore.set(true));
}
}

View File

@ -38,7 +38,6 @@ import { HtmlUtils } from "../../WebRtc/HtmlUtils";
import { mediaManager } from "../../WebRtc/MediaManager"; import { mediaManager } from "../../WebRtc/MediaManager";
import { SimplePeer } from "../../WebRtc/SimplePeer"; import { SimplePeer } from "../../WebRtc/SimplePeer";
import { addLoader, removeLoader } from "../Components/Loader"; import { addLoader, removeLoader } from "../Components/Loader";
import { OpenChatIcon, openChatIconName } from "../Components/OpenChatIcon";
import { lazyLoadPlayerCharacterTextures, loadCustomTexture } from "../Entity/PlayerTexturesLoadingManager"; import { lazyLoadPlayerCharacterTextures, loadCustomTexture } from "../Entity/PlayerTexturesLoadingManager";
import { RemotePlayer } from "../Entity/RemotePlayer"; import { RemotePlayer } from "../Entity/RemotePlayer";
import type { ActionableItem } from "../Items/ActionableItem"; import type { ActionableItem } from "../Items/ActionableItem";
@ -173,7 +172,6 @@ export class GameScene extends DirtyScene {
private createPromiseResolve!: (value?: void | PromiseLike<void>) => void; private createPromiseResolve!: (value?: void | PromiseLike<void>) => void;
private iframeSubscriptionList!: Array<Subscription>; private iframeSubscriptionList!: Array<Subscription>;
private peerStoreUnsubscribe!: () => void; private peerStoreUnsubscribe!: () => void;
private chatVisibilityUnsubscribe!: () => void;
private emoteUnsubscribe!: () => void; private emoteUnsubscribe!: () => void;
private emoteMenuUnsubscribe!: () => void; private emoteMenuUnsubscribe!: () => void;
private biggestAvailableAreaStoreUnsubscribe!: () => void; private biggestAvailableAreaStoreUnsubscribe!: () => void;
@ -196,7 +194,6 @@ export class GameScene extends DirtyScene {
private outlinedItem: ActionableItem | null = null; private outlinedItem: ActionableItem | null = null;
public userInputManager!: UserInputManager; public userInputManager!: UserInputManager;
private isReconnecting: boolean | undefined = undefined; private isReconnecting: boolean | undefined = undefined;
private openChatIcon!: OpenChatIcon;
private playerName!: string; private playerName!: string;
private characterLayers!: string[]; private characterLayers!: string[];
private companion!: string | null; private companion!: string | null;
@ -244,7 +241,6 @@ export class GameScene extends DirtyScene {
} }
} }
this.load.image(openChatIconName, "resources/objects/talk.png");
if (touchScreenManager.supportTouchScreen) { if (touchScreenManager.supportTouchScreen) {
this.load.image(joystickBaseKey, joystickBaseImg); this.load.image(joystickBaseKey, joystickBaseImg);
this.load.image(joystickThumbKey, joystickThumbImg); this.load.image(joystickThumbKey, joystickThumbImg);
@ -594,8 +590,6 @@ export class GameScene extends DirtyScene {
this.outlinedItem?.activate(); this.outlinedItem?.activate();
}); });
this.openChatIcon = new OpenChatIcon(this, 2, this.game.renderer.height - 2);
this.reposition(); this.reposition();
// From now, this game scene will be notified of reposition events // From now, this game scene will be notified of reposition events
@ -628,10 +622,6 @@ export class GameScene extends DirtyScene {
oldPeerNumber = newPeerNumber; oldPeerNumber = newPeerNumber;
}); });
this.chatVisibilityUnsubscribe = chatVisibilityStore.subscribe((v) => {
this.openChatIcon.setVisible(!v);
});
this.emoteUnsubscribe = emoteStore.subscribe((emoteKey) => { this.emoteUnsubscribe = emoteStore.subscribe((emoteKey) => {
if (emoteKey) { if (emoteKey) {
this.CurrentPlayer?.playEmote(emoteKey); this.CurrentPlayer?.playEmote(emoteKey);
@ -1373,7 +1363,6 @@ export class GameScene extends DirtyScene {
this.pinchManager?.destroy(); this.pinchManager?.destroy();
this.emoteManager.destroy(); this.emoteManager.destroy();
this.peerStoreUnsubscribe(); this.peerStoreUnsubscribe();
this.chatVisibilityUnsubscribe();
this.emoteUnsubscribe(); this.emoteUnsubscribe();
this.emoteMenuUnsubscribe(); this.emoteMenuUnsubscribe();
this.biggestAvailableAreaStoreUnsubscribe(); this.biggestAvailableAreaStoreUnsubscribe();
@ -1848,8 +1837,6 @@ export class GameScene extends DirtyScene {
return undefined; return undefined;
} }
private reposition(): void { private reposition(): void {
this.openChatIcon.setY(this.game.renderer.height - 2);
// Recompute camera offset if needed // Recompute camera offset if needed
biggestAvailableAreaStore.recompute(); biggestAvailableAreaStore.recompute();
} }