* initiate following by reacting to the interact event
* subscribe to remote player and update positions in relation to them
instead of reacting to user input
* cancel following if the user moves actively again
A great deal of the complexity of the current code is that we must chain
2 reactive values (one in the map "GameScene.MapPlayersByKey" and one in
the snapshot store).
The new generic MapStore class can be used to listen to stores inside a map.
When the store inside the map, or the map itself is modified, the
resulting store is updated.
Maps in the GameScene can be modified by the scripting API.
If so, previously, the changes to the maps were persisted in the ITiledMap object in the GameScene because this was cached by the Phaser loader,
causing a series of problems, the most noticeable being that templating in the scripting API stopped working on a second visit of a page.
We are now deep-copying the map on load to avoid these nasty effects.
Closes https://github.com/workadventure/scripting-api-extra/issues/77
Before anonymous connexion, we must get the details of the map and permit to check mandatory connexion and redirect user to login page.
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
If an exit zone is overlapping an audio zone, when exiting, the audio is stopped.
We do this by actually triggering the fact that a user should "leave" all active zones when exiting.
* Add an emote when the user is in silent zone
* Update silent icon strategy
* Update strategy for silent zone
- Add svelte store
- Show silent zone indication and replace camera
This update permit to hide silent zone when user is in Jitsi discussion
* Fix css silent zone
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Active authentication Oauth
- Google authentication
- GitHub authentication
- Linkedin authentication
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Finish connexion et get user info connexion
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Fix lint error
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Change the expires token for 30 days
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Update connexion stratgey
- Set last room when it will be created and not when connexion is openned
- Add '/login' end point permit to logout and open iframe to log user
- Add logout feature permit to logout in front
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Implement logout and revoke token with hydra
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Fix pull develop conflict
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Profile url (#1399)
* Create function that permit to get profile URL
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Continue profil user
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Add menu and logout button
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Update last room use
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Profile callback permit to get url profile setting from admin
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Finish profile show
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Delete profileUrl will be not use today
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Correct lint
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Update size of iframe
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Delete console log
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Update feedback ARP
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Set new local camera setup variable
* Finish by pass video settings
- TODO add button to update camera settings
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Merge branch 'develop' into jumpVideoCamera
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
# Conflicts:
# front/src/Connexion/LocalUserStore.ts
# front/src/Phaser/Components/Loader.ts
# front/src/Phaser/Game/GameManager.ts
# front/src/Phaser/Login/EnableCameraScene.ts
* Add menu to open enable camera scene
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Finish jump camera setup
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
Up until this commit, variables nested in object layers inside group layers where not found by the front nor the back.
This PR changes analysis so that variables can be detected.
Changes performed in WA.room.setPropertyLayer now have a real-time impact.
If the property is changed on a layer the current player is on, the changes will be triggered.
* WIP: svelte menu
* temp
* temp
* New menu svelte
* Migration of report menu in svelte
* Migration of registerCustomMenu for Menu in Svelte
Refactor subMenuStore
Suppression of old MenuScene and ReportMenu
* Suppression of HTML files that aren't use anymore
* fix deeployer
* First pass on css
* First pass on css
* Second pass on css and reportMenu
* Second pass on css and reportMenu
* Second pass on css and reportMenu
* Third pass on css and reportMenu
* Correction following test
* Contact page only if environment variable exist
* Update service worker
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Change requested
* Change requested
Co-authored-by: kharhamel <oognic@gmail.com>
Co-authored-by: Gregoire Parant <g.parant@thecodingmachine.com>
If a popup message is empty, only the buttons will be displayed (not the container)
Unrelated: the Sound.play method in the API now accepts 0 arguments.
* Add auth token user to get right in admin and check if user have right
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
* Update error show
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
This PR adds the ability to inject a website INSIDE a map (as an iframe inside a Phaser HTML object)
The iFrame will be rendered transparently, unless you set a background-color on the body, which opens a number of cool possibilities.
Needs to be done: allowing the iframe API in those iframes.