Adding property tile "inGameConsoleMessage", open a popup when user walk on a tile with this property

Adding map "Tuto2", the FTUE map
This commit is contained in:
DESKTOP-FMM8UI0\CLV 2021-03-08 09:28:15 +01:00
parent e0540790e1
commit 858bf0b384
5 changed files with 707 additions and 1 deletions

View file

@ -29,7 +29,15 @@
<base href="/">
<link href="https://fonts.googleapis.com/css?family=Press+Start+2P" rel="stylesheet">
<link href="https://unpkg.com/nes.css@2.3.0/css/nes.min.css" rel="stylesheet" />
<link rel="stylesheet" href="/resources/style/style.css">
<style>
html, body, pre, code, kbd, samp, button,p {
font-family: "Press Start 2P";
}
</style>
<title>WorkAdventure</title>
</head>
<body id="body" style="margin: 0; background-color: #000">

View file

@ -1175,6 +1175,29 @@ div.action p.action-body{
margin-left: calc(50% - 75px);
border-radius: 15px;
}
.popUpElement{
animation-duration: 1s;
animation-delay: 3s;
animation-name: slidein;
}
.popUpElement p {
text-align: left;
font-size: 10px;
background-color: #727678;
color: white;
}
.popUpElement div {
width: 300px;
height: 120px;
background-color: #727678;
}
.popUpElement button {
position: center;
font-size: 10px;
}
@keyframes mymove {
0% {bottom: 40px;}
50% {bottom: 30px;}

View file

@ -73,6 +73,8 @@ import {addLoader} from "../Components/Loader";
import {ErrorSceneName} from "../Reconnecting/ErrorScene";
import {localUserStore} from "../../Connexion/LocalUserStore";
import {BodyResourceDescriptionInterface} from "../Entity/PlayerTextures";
import DOMElement = Phaser.GameObjects.DOMElement;
import Tween = Phaser.Tweens.Tween;
export interface GameSceneInitInterface {
initPosition: PointInterface|null,
@ -165,6 +167,7 @@ export class GameScene extends ResizableScene implements CenterListener {
private playerName!: string;
private characterLayers!: string[];
private popUpElement : DOMElement| undefined;
constructor(private room: Room, MapUrlFile: string, customKey?: string|undefined) {
super({
key: customKey ?? room.id
@ -648,6 +651,31 @@ export class GameScene extends ResizableScene implements CenterListener {
this.gameMap.onPropertyChange('exitSceneUrl', (newValue, oldValue) => {
if (newValue) this.onMapExit(newValue as string);
});
this.gameMap.onPropertyChange('inGameConsoleMessage', (newValue, oldValue, allProps) => {
if (newValue !== undefined) {
this.popUpElement?.destroy();
this.popUpElement = this.add.dom(2100, 150).createFromHTML(newValue as string);
this.popUpElement.scale = 0;
this.tweens.add({
targets : this.popUpElement ,
scale : 1,
ease : "EaseOut",
duration : 400,
});
this.popUpElement.setClassName("popUpElement");
} else {
this.tweens.add({
targets : this.popUpElement ,
scale : 0,
ease : "EaseOut",
duration : 400,
});
}
});
this.gameMap.onPropertyChange('exitUrl', (newValue, oldValue) => {
if (newValue) this.onMapExit(newValue as string);
});