diff --git a/front/src/Api/IframeListener.ts b/front/src/Api/IframeListener.ts index 51614a4e..85ee612d 100644 --- a/front/src/Api/IframeListener.ts +++ b/front/src/Api/IframeListener.ts @@ -40,8 +40,8 @@ class IframeListener { private readonly _disablePlayerControlStream: Subject = new Subject(); public readonly disablePlayerControlStream = this._disablePlayerControlStream.asObservable(); - private readonly _enablePlayerControl: Subject = new Subject(); - public readonly enablePlayerControl = this._enablePlayerControl.asObservable(); + private readonly _enablePlayerControlStream: Subject = new Subject(); + public readonly enablePlayerControlStream = this._enablePlayerControlStream.asObservable(); private readonly _closePopupStream: Subject = new Subject(); public readonly closePopupStream = this._closePopupStream.asObservable(); @@ -96,7 +96,7 @@ class IframeListener { this._disablePlayerControlStream.next(); } else if (payload.type === 'restorePlayerControl'){ - this._enablePlayerControl.next(); + this._enablePlayerControlStream.next(); } else if (payload.type === 'displayBubble'){ this._displayBubbleStream.next(); diff --git a/front/src/Api/ScriptUtils.ts b/front/src/Api/ScriptUtils.ts index 8c7d2dc6..1a7fed0f 100644 --- a/front/src/Api/ScriptUtils.ts +++ b/front/src/Api/ScriptUtils.ts @@ -2,24 +2,22 @@ import {coWebsiteManager} from "../WebRtc/CoWebsiteManager"; class ScriptUtils { -public openTab(url : string){ - window.open(url); -} + public openTab(url : string){ + window.open(url); + } -public goToPage(url : string){ - window.location.href = url; + public goToPage(url : string){ + window.location.href = url; -} - -public openCoWebsite(url : string){ - coWebsiteManager.loadCoWebsite(url,url); -} - -public closeCoWebSite(){ - coWebsiteManager.closeCoWebsite(); -} + } + public openCoWebsite(url : string){ + coWebsiteManager.loadCoWebsite(url,url); + } + public closeCoWebSite(){ + coWebsiteManager.closeCoWebsite(); + } } export const scriptUtils = new ScriptUtils(); diff --git a/front/src/Phaser/Game/GameScene.ts b/front/src/Phaser/Game/GameScene.ts index 2a2d575f..08675fb5 100644 --- a/front/src/Phaser/Game/GameScene.ts +++ b/front/src/Phaser/Game/GameScene.ts @@ -694,17 +694,15 @@ export class GameScene extends ResizableScene implements CenterListener { iframeListener.openPopupStream.subscribe((openPopupEvent) => { let objectLayerSquare : ITiledMapObject; - if (this.getObjectLayerData(openPopupEvent.targetObject) !== undefined){ - objectLayerSquare = this.getObjectLayerData(openPopupEvent.targetObject) as ITiledMapObject; - } - else{ - console.error("'Cannot find an Object with name '" + openPopupEvent.targetObject + ". The name of your rectangle object is not matching with your param targetObject, check the two names."); + const targetObjectData = this.getObjectLayerData(openPopupEvent.targetObject); + if (targetObjectData !== undefined){ + objectLayerSquare = targetObjectData; + } else { + console.error("Error while opening a popup. Cannot find an object on the map with name '" + openPopupEvent.targetObject + "'. The first parameter of WA.openPopup() must be the name of a rectangle object in your map."); return; } const escapedMessage = HtmlUtils.escapeHtml(openPopupEvent.message); - let html = `
+ let html = `
${escapedMessage}
`; const buttonContainer = `
`; @@ -765,7 +763,7 @@ ${escapedMessage} iframeListener.disablePlayerControlStream.subscribe(()=>{ this.userInputManager.disableControls(); }) - iframeListener.enablePlayerControl.subscribe(()=>{ + iframeListener.enablePlayerControlStream.subscribe(()=>{ this.userInputManager.restoreControls(); }) let scriptedBubbleSprite : Sprite; diff --git a/front/src/Phaser/UserInput/UserInputManager.ts b/front/src/Phaser/UserInput/UserInputManager.ts index 2363ef47..2e686d8e 100644 --- a/front/src/Phaser/UserInput/UserInputManager.ts +++ b/front/src/Phaser/UserInput/UserInputManager.ts @@ -31,11 +31,11 @@ export class ActiveEventList { export class UserInputManager { private KeysCode!: UserInputManagerDatum[]; private Scene: GameScene; - private isInputDisable : boolean; + private isInputDisabled : boolean; constructor(Scene : GameScene) { this.Scene = Scene; this.initKeyBoardEvent(); - this.isInputDisable = false; + this.isInputDisabled = false; } initKeyBoardEvent(){ @@ -66,16 +66,18 @@ export class UserInputManager { disableControls(){ this.Scene.input.keyboard.removeAllKeys(); - this.isInputDisable = true; + this.isInputDisabled = true; } restoreControls(){ this.initKeyBoardEvent(); - this.isInputDisable = false; + this.isInputDisabled = false; } getEventListForGameTick(): ActiveEventList { const eventsMap = new ActiveEventList(); - if (this.isInputDisable) return eventsMap; + if (this.isInputDisabled) { + return eventsMap; + } this.KeysCode.forEach(d => { if (d. keyInstance.isDown) { eventsMap.set(d.event, true); diff --git a/maps/Tuto/scriptTuto.js b/maps/Tuto/scriptTuto.js index 4dae5eef..818af5ee 100644 --- a/maps/Tuto/scriptTuto.js +++ b/maps/Tuto/scriptTuto.js @@ -18,11 +18,11 @@ function launchTuto (){ label: "Open Chat", className: "popUpElement", callback: (popup1) => { - WA.sendChatMessage("Hey you can talk here too ! ", 'WA Guide'); + WA.sendChatMessage("Hey you can talk here too!", 'WA Guide'); popup1.close(); - WA.openPopup("TutoFinal","You are good to go ! You can meet the dev team and discover the features in the next room !",[ + WA.openPopup("TutoFinal","You are good to go! You can meet the dev team and discover the features in the next room!",[ { - label: "Got it !", + label: "Got it!", className : "success",callback:(popup2 => { popup2.close(); WA.restorePlayerControl(); @@ -39,21 +39,7 @@ function launchTuto (){ WA.disablePlayerControl(); } -WA.onChatMessage((message => { - console.log('CHAT MESSAGE RECEIVED BY SCRIPT'); - WA.sendChatMessage('Poly Parrot says: "'+message+'"', 'Poly Parrot'); -})); -WA.onEnterZone('myTrigger', () => { - WA.sendChatMessage("Don't step on my carpet!", 'Poly Parrot'); -}) - -WA.onLeaveZone('popupZone', () => { -}) - -WA.onEnterZone('notExist', () => { - WA.sendChatMessage("YOU SHOULD NEVER SEE THIS", 'Poly Parrot'); -}) WA.onEnterZone('popupZone', () => { WA.displayBubble(); @@ -61,23 +47,25 @@ WA.onEnterZone('popupZone', () => { isFirstTimeTuto = true; launchTuto(); } - else popUpExplanation = WA.openPopup(targetObjectTutoExplanation,'Do you want to review the explanation ? ', [ - { - label: "No", - className: "error", - callback: (popup) => { - popup.close(); + else { + popUpExplanation = WA.openPopup(targetObjectTutoExplanation, 'Do you want to review the explanation?', [ + { + label: "No", + className: "error", + callback: (popup) => { + popup.close(); + } + }, + { + label: "Yes", + className: "success", + callback: (popup) => { + popup.close(); + launchTuto(); + } } - }, - { - label: "Yes", - className: "success", - callback: (popup) => { - popup.close(); - launchTuto(); - } - } - ]) + ]) + } }); WA.onLeaveZone('popupZone', () => {