Merge branch 'develop' of github.com:thecodingmachine/workadventure
This commit is contained in:
commit
fa61e42b1d
BIN
front/dist/resources/objects/talk.png
vendored
BIN
front/dist/resources/objects/talk.png
vendored
Binary file not shown.
Before Width: | Height: | Size: 516 B After Width: | Height: | Size: 389 B |
@ -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>
|
1
front/src/Components/images/chat.svg
Normal file
1
front/src/Components/images/chat.svg
Normal 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 |
BIN
front/src/Components/images/logo-WA-pixel.png
Normal file
BIN
front/src/Components/images/logo-WA-pixel.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.2 KiB |
BIN
front/src/Components/images/logo-message-pixel.png
Normal file
BIN
front/src/Components/images/logo-message-pixel.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 389 B |
@ -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));
|
|
||||||
}
|
|
||||||
}
|
|
@ -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();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user