Commit graph

714 commits

Author SHA1 Message Date
kharhamel 595c5ca64d now use custom emotes with tweens instead of transistions 2021-05-25 16:37:24 +02:00
GRL d4bc999c54 pause loading tileset on fly 2021-05-25 10:15:56 +02:00
GRL 36f0cd1a23 Revert "pause for loading tileset on the fly"
This reverts commit a3165a0540.
2021-05-25 10:11:27 +02:00
GRL a3165a0540 pause for loading tileset on the fly 2021-05-25 09:39:04 +02:00
GRL d0aaa0620d Merge branch 'develop' of github.com:thecodingmachine/workadventure into metadataScriptingApi 2021-05-25 09:24:26 +02:00
DESKTOP-FMM8UI0\CLV 0c3b9ccfbf Merge branch 'develop' of https://github.com/thecodingmachine/workadventure into SoundInMapScript
# Conflicts:
#	front/src/Api/IframeListener.ts
#	front/src/Phaser/Game/GameScene.ts
#	front/src/iframe_api.ts
#	maps/Tuto/scriptTuto.js
#	maps/Village/Village.json
2021-05-21 17:45:26 +02:00
GRL 1110f4fb7f Revert "Merge branch 'update-game-tiles' into metadataScriptingApi"
This reverts commit 796a9418d3, reversing
changes made to 3506063e65.
2021-05-21 16:24:48 +02:00
GRL 796a9418d3 Merge branch 'update-game-tiles' into metadataScriptingApi 2021-05-21 15:56:35 +02:00
GRL 3506063e65 first step on loading a tileset from a script 2021-05-20 17:09:10 +02:00
GRL 2f9cc393a7 Implementation of getTag of the current user
documentation of getTag
Adding map for test of getTag
2021-05-20 10:57:36 +02:00
kharhamel 35b37a6a88 Added a radial menu to run emotes 2021-05-19 15:17:50 +02:00
kharhamel a1d52b4265 FEATURE: added the possibility toplay emotes 2021-05-19 15:17:03 +02:00
GRL ce0a72c6ce Merge branch 'menu-command-api' of github.com:jonnytest1/workadventure into metadataScriptingApi 2021-05-19 09:36:11 +02:00
GRL aa78bf44ef implementation of DataLayerEvent
update GetGameState to add nickname to the returned data
update GameMap to separate phaserLayer and mapLayer
2021-05-18 15:41:16 +02:00
GRL 201fcf6afa Merge branch 'gamestate-api-read' of github.com:jonnytest1/workadventure into metadataScriptingApi 2021-05-18 15:18:35 +02:00
GRL 2ee62c9e9e Merge branch 'develop' of github.com:thecodingmachine/workadventure into metadataScriptingApi 2021-05-18 11:50:03 +02:00
kharhamel 20ec609535 FIX: rejected map axios promises are now catched 2021-05-18 11:45:07 +02:00
GRL 3edfd5b285 GameState is now save in cache
HasPlayerMoved is send when the player is actually moving on the map every 200ms.
2021-05-18 11:33:16 +02:00
David Négrier 127a4759ac Merge branch 'develop' of github.com:thecodingmachine/workadventure into menu-command-api
# Conflicts:
#	front/src/Api/Events/IframeEvent.ts
#	front/src/Api/IframeListener.ts
#	front/src/iframe_api.ts
2021-05-18 10:16:44 +02:00
David Négrier 6128f1e431 Making sure Physics is not enabled several times
As part of an energy saving measure, we started disabling physics when the character is not moving and enabling physics again only when the character moves.
However, we enabled Physics on each frame the characeter was moving.
As a result, the Physics system would run several times, slowly slowing the computer down.

This fixes this issue by adding a flag to only enable Physics once.
2021-05-18 09:42:01 +02:00
David Négrier fe573893a1
Merge pull request #1039 from thecodingmachine/importsNotUsedAsValues
Setting "importsNotUsedAsValues": "error"
2021-05-13 19:43:34 +02:00
GRL 43aad4ab14 phaserLayers managed by Gamemap
Implementation of LayersFlattener
Implementation of Setting properties of a layer form script
Update show/hide layer form script
Update unit test of LayersIteratorTest
2021-05-12 14:30:12 +02:00
David Négrier 8c1e01566a Upgrading all dependencies in front
Upgrading to Webpack 5, Typescript 4, ...
2021-05-12 10:35:14 +02:00
David Négrier 4d4f845b9e Setting "importsNotUsedAsValues": "error"
Turning the "importsNotUsedAsValues" TS config value to "error".
This will require us to use `import type` instead of `import` when we are importing a value that is only used as a type (and therefore that is dropped by the Typescript compiler).

Why this change?
This is a requirement to be able to use Svelte in the future. See https://github.com/sveltejs/svelte-preprocess/issues/206#issuecomment-663193798
2021-05-12 09:13:25 +02:00
David Négrier 0c279750be Merge branch 'master' of github.com:thecodingmachine/workadventure into develop
# Conflicts:
#	front/src/Phaser/Game/GameScene.ts
2021-05-11 16:43:34 +02:00
David Négrier ad39b43df3 Closing game webcame in Jitsi
When stepping in Jitsi, the game webcam (from mediaManager) was not shut down.
And when enabling/disabling the webcam in Jitsi, the webcam in mediaManager was also
enabled/disabled. This PR fixes those issues.

It also fixes a race condition when closing a Jitsi where the mic/cam would be enabled at the same time.
2021-05-11 14:52:51 +02:00
kharhamel f044b3d249 FIX: triggering a map transition now ignores other map transitions for 500ms 2021-05-11 11:05:05 +02:00
David Négrier 23bf78a026 Refactoring code to use the "visibilitychange" event
Using the "visiblitychange" event instead of relying on a "trick" related to RAF being disabled when a window is not open allows us to have cleaner code.
Bonus: the recursive call to "setTimeout" is gone, so the stacktrace growing indefinitely is gone too.
This should make the application a bit more stable.
2021-05-11 10:56:50 +02:00
jonny 8cef4f6e90 Merge remote-tracking branch 'remotes/workadventure-main/develop' into gamestate-api-read
# Conflicts:
#	front/src/Api/IframeListener.ts
2021-05-10 21:48:11 +02:00
jonny 8e136cebe8 added callback on playermove - gets quite delayed after walking for a few seconds 2021-05-10 21:27:17 +02:00
GRL cd2d090a8b Merge branch 'develop' of github.com:thecodingmachine/workadventure into metadataScriptingApi 2021-05-10 11:46:16 +02:00
GRL 841bf29764 auto update show/hide layer 2021-05-10 11:20:07 +02:00
jonny ce0c7ea3eb Merge remote-tracking branch 'remotes/workadventure-main/develop' into gamestate-api-read 2021-05-10 10:01:53 +02:00
jonny a5260c0831 Merge remote-tracking branch 'remotes/workadventure-main/develop' into load-page-api 2021-05-10 09:58:59 +02:00
jonny 46996f7049 moved event trigger out of index array 2021-05-10 01:34:33 +02:00
jonny 8db72d2dfd refactored to Array of tile 2021-05-10 01:34:32 +02:00
jonny bed45a8310 cherry pick conflicts 2021-05-10 00:31:54 +02:00
jonny ffe03d40f5 option to update tile
# Conflicts:
#	front/src/Api/Events/ApiUpdateTileEvent.ts
#	front/src/Api/IframeListener.ts
#	front/src/Phaser/Game/GameScene.ts
2021-05-10 00:30:32 +02:00
jonnytest1 2922ae4603
Merge branch 'develop' into menu-command-api 2021-05-07 19:59:58 +02:00
David Négrier 6b4d064f19 Merge branch 'develop' of github.com:thecodingmachine/workadventure into skiprender2
# Conflicts:
#	front/src/Phaser/Game/GameScene.ts
#	front/src/index.ts
2021-05-06 16:25:13 +02:00
David Négrier 3b5f105daf Setting the dirty state automatically when there is an animation frame 2021-05-06 15:38:22 +02:00
David Négrier 0c5e5ef578 Skip "render" if nothing changed on screen
For each requested animation frame (RAF) in Phaser, Phaser calls the "update" method, then the "render" method of each scenes.
The "render" method takes some time (and energy) to perform the rendering.

The fact is we probably don't need to call "render" if nothing changed on the screen (which happens most of the frames in a typical WorkAdventure game).

This commit is therefore overloading the "Game" class of Phaser to add a "dirty" flag.

Scenes can now add a "isDirty()" method. If all displayed scenes are pristine (not dirty), Phaser will skip rendering the frame altogether.

This saves "a lot" of energy, resulting in laptops that are not overheating when using WorkAdventure \o/
2021-05-06 15:36:45 +02:00
David Négrier 7ae66a63a4 Refactoring centering of DOM elements 2021-05-05 17:10:39 +02:00
David Négrier cd2873e9d3 Fixing CI 2021-05-05 13:14:00 +02:00
David Négrier bede7abdd8 Removing mousewheel to up down plugin 2021-05-05 12:15:13 +02:00
David Négrier 82073098e0 Merge branch 'develop' of github.com:thecodingmachine/workadventure into resolution 2021-05-05 11:01:11 +02:00
David Négrier f66e69cb75 Improving pinch (virtual joystick stops when pinch begins) 2021-05-05 09:35:24 +02:00
grégoire parant 71eb3f3b69
Improvement feature circle discussion (#977)
* Improvment circle discussion
 - Change to lissen start event of WebRTC connection

* Update help allow navigator and waring message
 - Show warning message.
 - Use help camera allow setting to show modal and help user.
 - Change feature to show the modal only when user have need the information on allow navigator access

* Create soud for video discussion
2021-05-05 01:49:04 +02:00
Gregoire Parant 83159a121f Revert logo loading and fix it 2021-05-04 15:47:45 +02:00
Gregoire Parant c8692a08ce Revert "Fix loader logo WA (#991)"
This reverts commit fa3ffe4d7a.
2021-05-04 15:15:23 +02:00
grégoire parant fa3ffe4d7a
Fix loader logo WA (#991) 2021-05-04 14:28:30 +02:00
David Négrier 04d3cf8593 Adding HdpiManager to start and scale from a default resolution that is correct by default for the game.
Fixing VirtualJoystick on resize.
2021-05-04 11:35:33 +02:00
jonnytest1 5069099000
fixed typing in chat still causes character to move (#965) 2021-05-03 20:26:42 +02:00
jonny cd77af318d added more properties
# Conflicts:
#	front/src/Phaser/Game/GameScene.ts
2021-05-01 19:45:23 +02:00
grégoire parant 925545d74f
Add error message (#970)
- Error link not found
 - Error user was banned
 - Error access dinied on the world
2021-04-29 23:47:30 +02:00
jonny 8f1aea1c43 Merge remote-tracking branch 'remotes/workadventure-main/develop' into load-page-api 2021-04-29 10:49:14 +02:00
kharhamel fe27169745 solved conflict with develop 2021-04-29 10:31:16 +02:00
jonny 6295c8275e reset menu items on map change 2021-04-27 16:40:56 +02:00
jonny 79e530f0e6 launch jsons + type fixes 2021-04-27 00:04:08 +02:00
jonny 6e847b5f58 Merge branch 'develop' of https://github.com/thecodingmachine/workadventure into develop 2021-04-27 00:02:05 +02:00
David Négrier 22cb41dc29 Adding the ability to display "Text" objects from Tiled
I honestly don't believe text objects look good on map, and in real maps, I think text should be written on tiles.

However, for a variety of use cases (like in test maps in the /maps/test directory, it can be useful to be
able to display some text easily on a map.

This PR adds the ability to display this text.

Note: the "font" support cannot work correctly, as Tiled is listing fonts from the local
system, and those fonts are not available in a browser.
2021-04-26 11:28:13 +02:00
David Négrier 6815fe7a0a Added a new LayersIterator class
This class iterates recursively over layers, flattening groups.
This enables us to simplify the code when we iterate layers. We can remove all recursive function calls in the GameScene code (it is delegated to the LayersIterator)
2021-04-26 11:21:34 +02:00
Lurkars 66b90be0da remove redundancy 2021-04-26 11:20:28 +02:00
Lurkars 93b7b7bc91 removed redundancy, fix for startLayer 2021-04-26 11:20:28 +02:00
Lurkars 9b6be3466b support for group layer of Tiled (excludes 'start' layer) 2021-04-26 11:20:28 +02:00
DESKTOP-FMM8UI0\CLV f03f8076f3 Sound in Script Done
Fom script user can load, play and stop sound
2021-04-23 15:35:34 +02:00
David Négrier 4f4f499d47 Making alone mode more robust
This fixes a number of issues where the game was attempting to access a non existing connection (in alone mode)
2021-04-23 13:44:04 +02:00
kharhamel 6a2326c4b3 WIP: testing new resolution config 2021-04-21 18:04:00 +02:00
DESKTOP-FMM8UI0\CLV 517c0e86cb Can play Sound from a map script
add sound in the TutoMap
2021-04-21 16:47:19 +02:00
jonny 3836d5037c game state can be read out by the client APIs
# Conflicts:
#	front/src/Api/IframeListener.ts
#	front/src/Phaser/Game/GameScene.ts
#	front/src/iframe_api.ts
2021-04-21 15:56:52 +02:00
jonny 006195e8cc rewrote to run in event loop 2021-04-21 11:54:37 +02:00
jonny 6c6789411a added loadPage Api call 2021-04-21 11:20:17 +02:00
David Négrier 84bd5eff50 Bump Phaser version
This reverts commit f2c3d6f158.
Also, updates all dependencies to their latest allowed version.

# Conflicts:
#	front/package.json
#	front/yarn.lock
2021-04-21 10:35:38 +02:00
Kharhamel 5dc2f0ac47
Merge pull request #898 from thecodingmachine/touchZoom
FEATURE: add the ability to zoom in and out using touch screen
2021-04-20 14:51:08 +02:00
kharhamel 341b048d6c improved the visuals of the joystick 2021-04-20 14:26:52 +02:00
kharhamel 415d8f9466 the joystick is now visible only when pointer is down 2021-04-20 10:52:06 +02:00
kharhamel 56287a2958 put the virtual joystick into the userInputManager and restricted it to touchscreens 2021-04-19 18:10:33 +02:00
David Négrier cb1dcb5786
Merge pull request #908 from ClementVieilly75/FTUEPopup
Unsubscribe to iframeEvents in CleanUpClosingScene
2021-04-19 11:24:43 +02:00
DESKTOP-FMM8UI0\CLV 5028a54422 Unsubscribe to iframeEvents in CleanUpClosingScene 2021-04-19 10:19:30 +02:00
David Négrier 16daf7332a Adding the ability to display "Text" objects from Tiled
I honestly don't believe text objects look good on map, and in real maps, I think text should be written on tiles.

However, for a variety of use cases (like in test maps in the /maps/test directory, it can be useful to be
able to display some text easily on a map.

This PR adds the ability to display this text.

Note: the "font" support cannot work correctly, as Tiled is listing fonts from the local
system, and those fonts are not available in a browser.
2021-04-17 12:05:54 +02:00
Kharhamel afd2ea2d03
Merge pull request #897 from thecodingmachine/maxPerGroup
FEATURE: added the env variable MAX_PER_GROUP
2021-04-16 17:19:01 +02:00
kharhamel d7a74baa9d FEATURE: add the ability to zoom in and out using touch screen 2021-04-15 16:37:58 +02:00
kharhamel ce2c5e0cb5 FEATURE: added the env variable MAX_PER_GROUP 2021-04-15 15:50:51 +02:00
Gregoire Parant a42e873f64 Merge branch 'master' into develop 2021-04-14 20:11:41 +02:00
Gregoire Parant 4119f69879 HotFix
- Key up m when user write message
 - Size game share
2021-04-13 12:30:15 +02:00
PizZaKatZe 633bdfcaff Always enable virtual joystick
Keeps 'toggle fullscreen' as a separate game setting.
2021-04-13 02:00:06 +02:00
PizZaKatZe 340caaff32 Make virtual joystick transparent 2021-04-13 02:00:05 +02:00
PizZaKatZe e713120434 Reposition joystick (thx @TabascoEye) 2021-04-13 02:00:04 +02:00
PizZaKatZe c3230bc2b3 Integrate virtual joystick 2021-04-13 02:00:03 +02:00
PizZaKatZe edd4e9e95d Add touch support for Jitsi and website triggers 2021-04-13 00:23:40 +02:00
Kharhamel 8cdf572685
Merge pull request #870 from joberthel/feature/player-companion
Added companion (pet) to player
2021-04-12 18:11:07 +02:00
David Négrier 3dd2a634a0 Allowing loading HTTP local resources from a HTTPS endpoint.
By default, maps are loaded in HTTPS if WorkAdventure is running in HTTPS, and in HTTP is WorkAdventure is running in HTTP.
Also, if WorkAdventure is running in HTTP and map loading fails, we try map loading in HTTPS (useful when we are working on WorkAdventure locally and want to load a map on a secure domain).

This commit adds the last combination: If WorkAdventure is running in HTTPS, and map loading fails in HTTPS **AND** if the map URL is targetting "localhost", "*.localhost" or "127.0.0.1", then we attempt to load the resource in HTTP.

Why?

"localhost" is considered secure context by modern browsers. So even if a page is loaded in HTTPS, it can load resources from any secure context (including localhost in HTTP).

This means that from "https://play.workadventu.re", I can now test a map running locally on my machine (served by a classic webserver without any certificate).
This change should make map testing easier, since map developers will not have to install the whole WorkAdventure project to test their map locally.
2021-04-11 14:56:03 +02:00
Johannes Berthel 8d4e0c3e88 added companion compatibility with phaser 3.54.0 2021-04-09 18:30:30 +02:00
David Négrier d80681c40b
Merge branch 'develop' into FTUEPopup 2021-04-09 17:40:26 +02:00
DESKTOP-FMM8UI0\CLV 2c84d9a07d position of popups changed
clear log in gameScene
2021-04-09 16:34:01 +02:00
DESKTOP-FMM8UI0\CLV 46cc7b3b3b add pannels 2021-04-09 14:35:15 +02:00
Johannes Berthel 187e21eed9 load texture inside game scene instead inside of inside companion class 2021-04-06 19:10:18 +02:00
Johannes Berthel c07079051a transmit companion to remote players 2021-04-02 21:21:11 +02:00
David Négrier dd0d1fa49f
Merge pull request #854 from thecodingmachine/loadhttpsmapsfromhttp
Allow loading https maps from http protocol
2021-03-30 17:57:38 +02:00
David Négrier a68cf38cdc
Merge pull request #856 from thecodingmachine/alonemode
Adding an "alone" mode
2021-03-30 17:56:19 +02:00
David Négrier 02fb42b68a
Merge pull request #790 from thecodingmachine/iframe_api
Adding an API for inter-iframe communication
2021-03-30 16:31:30 +02:00
David Négrier 559e15ebb6 Adding an "alone" mode
In "alone" mode (or single-player mode), WorkAdventure does not connect to the server at all.
In order to enter the "alone" mode, you need to add "?alone=true" to the URL.

"alone" mode can be useful for tutorials (First Time User Experience) where you want to explain how WorkAdventure works without being disturbed by other users.
2021-03-30 16:08:49 +02:00
David Négrier b6edefbe4e Allow loading https maps from http protocol
In a development environment, we often run in HTTP.
The problem is that WorkAdventure will attempt to load maps using the HTTP protocol (even if the map is on a remote server that is available only in HTTPS).
This commit adds a "fallback". If we are in HTTP (so in a development environment) and if the map fails to load correctly, we will try again, but in HTTPS.

This allows development environment to load maps hosted on a HTTPS enabled server easily.
2021-03-28 18:35:01 +02:00
David Négrier 8b90a14c39 Fix import 2021-03-28 17:07:00 +02:00
David Négrier aaaa192b71 Merge branch 'develop' of github.com:thecodingmachine/workadventure into iframe_api
# Conflicts:
#	front/dist/.gitignore
#	front/dist/index.tmpl.html
#	front/src/Phaser/Game/GameScene.ts
#	front/src/WebRtc/CoWebsiteManager.ts
2021-03-28 16:53:15 +02:00
David Négrier 98aa94bb12 Minor changes 2021-03-28 16:36:02 +02:00
Johannes Berthel 5375528d7c use map tilewidth instead of hardcoded values 2021-03-27 13:57:50 +01:00
kharhamel 886daebfea improved the unloading process to not create a useless socket 2021-03-26 14:19:37 +01:00
Kharhamel ec2fa9501c
Merge pull request #813 from thecodingmachine/warningMessage
Warning message
2021-03-24 14:27:13 +01:00
kharhamel 8d6c1a50bf FEATURE: warning message when world is near full capacity 2021-03-23 17:44:47 +01:00
DESKTOP-FMM8UI0\CLV e05c25a857 replace let for const for variables non reassigned 2021-03-23 17:15:22 +01:00
Kharhamel 7765775df5
Merge pull request #825 from workadventure-xce/audio_player_improvements
Audio player improvements
2021-03-23 14:07:20 +01:00
PizZaKatZe 599fdd6ceb Fix group icons and audio attenuation 2021-03-22 20:09:11 +01:00
PizZaKatZe 5bd6f49846 Fix (now legacy) 'playAudioLoop' property 2021-03-22 20:09:11 +01:00
PizZaKatZe fdbcd98a9a Implement audio volume and loop properties 2021-03-22 20:09:11 +01:00
David Négrier f9a2097bc9
Merge pull request #828 from thecodingmachine/develop
Deploy 2021-03-22
2021-03-22 16:42:28 +01:00
DESKTOP-FMM8UI0\CLV 3ef3561b57 no message 2021-03-22 16:10:21 +01:00
GRL e50c8bc354 Suppression of *{...} in every HTML files because the style.ccs file already declare it.
Suppression unused code
2021-03-19 16:21:35 +01:00
GRL 1cfb22f695 Creation of the HelpCameraSettingsScene
Update of GameManager and index to include the new scene
Change title of helpCameraSettings
Suppression function reset
2021-03-19 15:40:07 +01:00
GRL 0b00055eda Use includes instead of indexOf 2021-03-19 14:40:18 +01:00
GRL c654f722e3 Add Firefox image
Check permissions in the game
Button Continue to continue without allowing camera and microphone
2021-03-19 12:04:37 +01:00
David Négrier ffb5823b2a Adding the ability to specify a custom Jitsi URL directly in the map
This feature allows to add a "jitsiUrl" property in the map.
As a result, you can use for a given Jitsi room a custom instance of Jitsi.
Using "jitsiUrl" will only work with public Jitsi instances (authentication is not supported when "jitsiUrl" property is provided)

The Jitsi external_api.js script is now lazily loaded.
2021-03-16 20:37:12 +01:00
DESKTOP-FMM8UI0\CLV 662134498c Merge branch 'iframe_api' of https://github.com/thecodingmachine/workadventure into FTUEPopup
# Conflicts:
#	front/src/Phaser/Game/GameScene.ts
2021-03-12 17:06:42 +01:00
David Négrier 086b88b09a Merge branch 'develop' of github.com:thecodingmachine/workadventure into iframe_api 2021-03-12 18:02:02 +01:00
DESKTOP-FMM8UI0\CLV c5c8770a60 Add First Version of Tuto
PopUp
Player Control disable
Fake bubble displayed
2021-03-12 16:39:29 +01:00
kharhamel fe8c75610d FIX: player anims correctly stop on the idle frame 2021-03-11 16:21:02 +01:00
DESKTOP-FMM8UI0\CLV fa4d917729 Resolve conflit with GameScene.ts 2021-03-11 16:03:39 +01:00
DESKTOP-FMM8UI0\CLV f9f618094d adding error log if name of square in Tile not matching with the param targetObject of OpenPopup in script.js 2021-03-10 17:22:39 +01:00
DESKTOP-FMM8UI0\CLV 8d0411e8a3 can manage position and width/height of a popUp using a square in Tiled 2021-03-10 09:23:45 +01:00
DESKTOP-FMM8UI0\CLV 5e4940dba6 Merge branch 'iframe_api' of https://github.com/thecodingmachine/workadventure into FTUEPopup
* 'iframe_api' of https://github.com/thecodingmachine/workadventure:
  Removing closeOnClick as it is not implemented
  Adding a Popup object with a close() method on it.
2021-03-10 09:00:47 +01:00
DESKTOP-FMM8UI0\CLV f7f8be24bc Set Position of the popUp with pos of an object in floorLayer object group 2021-03-10 08:57:49 +01:00
David Négrier bb8b222c22 Adding a Popup object with a close() method on it. 2021-03-09 18:51:30 +01:00
David Négrier 18464e4942 Adding button clicked handling 2021-03-09 18:05:07 +01:00
Kharhamel 21cc842c33
Merge pull request #793 from thecodingmachine/adminWorldsLimit
FEATURE: the connexion error an user can get when a world is full is now correctly treated.
2021-03-09 17:45:43 +01:00
DESKTOP-FMM8UI0\CLV 4545de8af1 Merge branch 'iframe_api' of https://github.com/thecodingmachine/workadventure into FTUEPopup
* 'iframe_api' of https://github.com/thecodingmachine/workadventure:
  Adding button clicked handling

# Conflicts:
#	front/src/Phaser/Game/GameScene.ts
2021-03-09 17:12:28 +01:00
DESKTOP-FMM8UI0\CLV d29e0819f4 Get position of an object in Tile to set popUp Position 2021-03-09 17:07:14 +01:00
kharhamel 8abc34c631 FEATURE: the connexion error an user can get when a world is full is now correctly traited. Also remove a redundant adminApi call 2021-03-09 16:34:19 +01:00
David Négrier 1e002f93ed Implementation of openPopup script method (WIP) 2021-03-09 16:21:14 +01:00
David Négrier ed2ce68f37 Merge branch 'FTUEPopup' of github.com:ClementVieilly75/workadventure into iframe_api
# Conflicts:
#	front/dist/.gitignore
#	front/src/Phaser/Game/GameScene.ts
2021-03-09 15:35:51 +01:00
DESKTOP-FMM8UI0\CLV b175b7164d Merge branch 'develop' of https://github.com/thecodingmachine/workadventure into FTUEPopup
* 'develop' of https://github.com/thecodingmachine/workadventure:
  Trying to enable back connection on admin from develop, knowing that the develop certificate is broken. Fixing priority.
  Trying to enable back connection on admin from develop, knowing that the develop certificate is broken
  Revert "Adding back admin in develop branch CI"
  Adding back admin in develop branch CI
  Fixing GA tag not included in play domain
  FEATURE: better implementation of the admin global message
  Fix ci
  Update private access
  Allow URLs relative to map base in iframe / openWebsite

# Conflicts:
#	front/src/Phaser/Game/GameScene.ts
2021-03-09 13:57:05 +01:00
DESKTOP-FMM8UI0\CLV afac042706 supp debug log 2021-03-09 13:53:46 +01:00
David Négrier 2bef328d8a Adding the abaility to track users entering/leaving a zone in the script language. 2021-03-08 18:58:38 +01:00
DESKTOP-FMM8UI0\CLV 858bf0b384 Adding property tile "inGameConsoleMessage", open a popup when user walk on a tile with this property
Adding map "Tuto2", the FTUE map
2021-03-08 09:28:15 +01:00
David Négrier 6fbf165c91 Adding the ability to register a single script using the "script" attribute at the map property level. 2021-03-07 21:02:38 +01:00
David Négrier 7d67f55012 Improving security: only iframes opened with "openWebsiteAllowApi" property are now able to send/receive messages. 2021-03-06 16:00:07 +01:00
David Négrier bf8e8bf777
Merge pull request #689 from znerol-forks/feature/cowebsite-load-map-relative-url
Allow URLs relative to map base in iframe / openWebsite
2021-03-04 18:21:48 +01:00
kharhamel ad7e16c33b FEATURE: better implementation of the admin global message 2021-03-04 16:18:06 +01:00
Gregoire Parant fff0cbc3f6 Revert message exit 2021-02-17 19:40:00 +01:00
Gregoire Parant 9b7b3eb140 Update feedback @tabascoeye 2021-02-17 19:31:05 +01:00
Gregoire Parant ce423c9fec Remove exit trigger action 2021-02-17 19:29:59 +01:00
Gregoire Parant 83fc7d0cc0 Merge branch 'develop' into exitTriggerAction
# Conflicts:
#	front/src/Phaser/Game/GameScene.ts
2021-02-17 19:28:41 +01:00
znerol 9670f92a08 Allow URLs relative to map base in iframe / openWebsite 2021-02-16 10:53:50 +01:00
MisterErwin aff4c8d145
Do not change rooms if scene failed to load
Sometimes a following room fails to load (e.g., #582) and instead of fading to black (as no scene is active) when trying to enter that next room, the player will stay in the old room and an error is logged (as throwing one crashes the game).
2021-02-13 14:15:09 +01:00
Gregoire Parant b92b7304b0 Fix to use clear All Keys 2021-02-11 21:48:24 +01:00
David Négrier 91fddd6893 Slugifies the Jitsi room name
This will avoid Jitsi breaking on unexpected characters and displaying a HTTP 404 error.
2021-02-10 13:51:17 +01:00
David Négrier f6e93da48a Fixing loading logo being displayed when nothing was loaded 2021-02-10 12:08:16 +01:00
David Négrier a5bdf68246 Moving property reading inside startJitsi (startJitsi is called at 2 different places) 2021-02-10 11:08:57 +01:00
Mickael Chimansky 5cb9624b0b fixup! Jitsi config properties 2021-02-09 20:31:49 +01:00
Mickael Chimansky 9c4d0aa32f Jitsi config properties 2021-02-09 16:05:21 +01:00
Gregoire Parant 4de9b8ba40 Fix icon discussion
- Fix size of discussion icon
- Update x and y when page is resize
- Fix blanc link in chat
2021-02-03 23:11:33 +01:00
grégoire parant c41c058fb0
Merge pull request #527 from oliverlorenz/feature/iframe-feature-policy
feat: adds property openWebsitePolicy property to set "allow" property in iframe
2021-02-03 17:38:35 +01:00
grégoire parant f2b9f6c92a
Merge pull request #686 from thecodingmachine/publicReportedUser
Permit puiblic report
2021-02-02 18:09:25 +01:00
Gregoire Parant 7eb38fae83 Permit puiblic report
- Create report html
 - Add report flag
2021-01-29 21:09:10 +01:00
kharhamel f2c3d6f158 downgraded phaser version to 3.24.1 2021-01-28 23:03:06 +01:00
grégoire parant 86f1099247
Merge pull request #648 from thecodingmachine/customCharacterLadyLoading
Fix custom character lazy loading
2021-01-26 15:27:46 +01:00
Gregoire Parant 45b355f780 Refactor lazy loading 2021-01-26 15:21:23 +01:00
Gregoire Parant 1dd2858424 Fix feadback @Kharhamel 2021-01-26 14:04:42 +01:00
Gregoire Parant 803be36def Merge branch 'develop' into customCharacterLadyLoading 2021-01-26 09:02:17 +01:00
Gregoire Parant c6903cc4c5 Use Error scene and add banned message 2021-01-26 08:57:10 +01:00
Gregoire Parant 8de05c39c1 Lock user when he was banned 2021-01-25 14:10:16 +01:00
Gregoire Parant beb53df364 Error problem open new map 2021-01-25 13:18:57 +01:00
Gregoire Parant 5f88a1a0b9 Exit trigger action
- [x] Add trigger message custom
- [x] Add trigger for exit map
- [x] Update documentation
2021-01-25 12:21:40 +01:00
Kharhamel 39194b5531
Merge pull request #642 from tabascoeye/patch-1
cleanup when closing the scene
2021-01-25 10:35:01 +01:00
Kharhamel d32fca9777
Merge pull request #597 from psy/feature_streams
add remote files and streams to playAudio
2021-01-25 10:33:43 +01:00
Gregoire Parant 75d8d46c62 clean 2021-01-24 16:02:10 +01:00
Gregoire Parant d93a8da828 Fix custom character lazy loading 2021-01-24 15:57:47 +01:00
TabascoEye 39b433eef5
Update GameScene.ts
stop all the map specific stuff (Jitsi, coWebsite, Audio) when leaving the scene
Fixes #633
2021-01-23 01:16:13 +01:00
David Négrier adca51f6de Replacing FourOFourScene with more generic ErrorScene 2021-01-17 20:42:45 +01:00
psy 8d67947bc1 move map url to else case 2021-01-14 11:48:06 +01:00
psy f431e769cc add remote files and streams to playAudio 2021-01-14 11:45:14 +01:00
kharhamel 472fbb1de0 All player textures are now lazy-loaded 2021-01-08 11:44:41 +01:00
Piotr Dobrowolski af260ad229 front: add AnimatedTiles plugin 2021-01-07 18:37:57 +01:00
kharhamel 3ce8427378 fixed a game crashed because of lack of animations and improved the character class 2021-01-07 12:46:13 +01:00
kharhamel fbb44af369 added a basic loader 2021-01-06 17:08:48 +01:00
kharhamel 1359fbe977 updated phaser to version 3.51 and fixed the BC 2021-01-06 15:00:54 +01:00
Piotr Dobrowolski 28d687e338 front: implement map sounds 2021-01-04 16:57:31 +01:00
Oliver Lorenz 7c89cf0e47 feat: adds property openWebsitePolicy to set allow property in iframe 2020-12-29 23:17:16 +01:00
David Négrier e5138e1c03
Merge pull request #505 from thecodingmachine/fixFrameLocalStorage
Manage Local Storage customers player error
2020-12-18 16:33:36 +01:00
Gregoire Parant a1fd209578 Fix catch error 2020-12-18 16:30:22 +01:00
David Négrier 36f886aed6 Fixing cat running too fast on reconnect scene because animations were duplicated 2020-12-18 16:08:04 +01:00
David Négrier df114bc1ce Fixing broken reconnection 2020-12-18 15:59:07 +01:00
Gregoire Parant 323fa6abba Create exception error 2020-12-18 14:30:46 +01:00
Gregoire Parant f5dd5efc0e Manage Local Storage customers player error 2020-12-18 13:56:25 +01:00
kharhamel eb88db92be FIX: going back a 2nd time to SelectCharacterScene used to crash the game 2020-12-16 15:09:58 +01:00
kharhamel de9d6756b4 FIX: going to loginScene or customizeScene and then clicking next bring you back directly to the gameScene 2020-12-15 18:00:04 +01:00
kharhamel 069f2f1cec FEAT: prototype game menu using html elements, better icon for text chat 2020-12-15 16:37:57 +01:00
David Négrier 855b55903b
Merge pull request #440 from psy/develop
center spawn position in the middle of a tile
2020-12-11 17:36:10 +01:00
David Négrier 2122014947 Merge branch 'develop' of github.com:thecodingmachine/workadventure into scaling
# Conflicts:
#	front/src/Phaser/Game/GameScene.ts
2020-12-11 13:06:10 +01:00
David Négrier 6f2c319785 Merge branch 'master' of github.com:thecodingmachine/workadventure into scaling
# Conflicts:
#	back/src/Services/SocketManager.ts
#	deeployer.libsonnet
#	docker-compose.yaml
#	front/src/Connexion/RoomConnection.ts
#	front/src/Enum/EnvironmentVariable.ts
#	front/src/Phaser/Game/GameScene.ts
#	front/webpack.config.js
#	pusher/src/Controller/IoSocketController.ts
2020-12-11 13:00:11 +01:00
David Négrier a19edd4dc1 Fixing reconnection to server on back failure 2020-12-03 16:39:44 +01:00
Kharhamel 95665a28d5
Merge pull request #456 from thecodingmachine/performance
Performance settings
2020-12-03 14:33:12 +01:00
Gregoire Parant 27634a61ee Create menu to set your quality video and game 2020-11-27 16:24:07 +01:00
David Négrier 4c1e566a6c Adding a Pusher container as a middleware/dispatcher between front and back 2020-11-26 17:53:30 +01:00
kharhamel 65785240e1 FIX: room id is now pushed to the url 2020-11-25 17:17:48 +01:00
psy f08aec28c0 use tilewidth and tileheight to center spawn position dynamically 2020-11-25 15:58:10 +01:00
kharhamel 8d8b879ed6 FIX: the game now uses the url hash to choose the start layer 2020-11-24 14:43:21 +01:00
kharhamel 09d6d22a5d FIX: rewrote the way scene exits are triggered 2020-11-24 14:43:21 +01:00
Gregoire Parant 3d32fb90dc Add constant 2020-11-23 20:34:05 +01:00
Gregoire Parant 2812387650 Merge branch 'develop' into action-button 2020-11-23 20:08:19 +01:00
Gregoire Parant 26cfae7136 Merge branch 'develop' into firefox-error-jitsi
# Conflicts:
#	front/src/WebRtc/MediaManager.ts
2020-11-23 15:46:19 +01:00
Gregoire Parant 39cdc3fbd9 Fix trgger stream and update scene record 2020-11-21 18:47:38 +01:00
Gregoire Parant a6876658ab Merge branch 'develop' into windows-focus-blur-camera
# Conflicts:
#	front/src/WebRtc/MediaManager.ts
2020-11-21 15:57:55 +01:00
Gregoire Parant 3aaeda6f80 Merge branch 'develop' into action-button
# Conflicts:
#	front/dist/resources/style/style.css
#	front/src/Phaser/Game/GameScene.ts
2020-11-21 15:40:24 +01:00
psy 9e835620f1 center spawn position in the middle of a tile, instead of the upper left corner 2020-11-19 13:19:56 +01:00
Gregoire Parant 1bff2addf1 Merge branch 'develop' into firefox-error-jitsi
# Conflicts:
#	front/src/WebRtc/MediaManager.ts
2020-11-17 18:54:51 +01:00
Gregoire Parant 11def280cb Merge branch 'develop' into feature-discussion 2020-11-17 18:08:53 +01:00
Gregoire Parant 0a7063a478 Add close button 2020-11-17 18:03:44 +01:00
Kharhamel eed292b707
Merge pull request #428 from thecodingmachine/master
Hotfixes from master
2020-11-17 15:26:11 +01:00
kharhamel b6b76cbfaf FIX: creating an exit to the current map should not cause a crash anymore 2020-11-17 15:02:21 +01:00
Gregoire Parant 1570ef9663 Merge branch 'develop' into windows-focus-blur-camera
# Conflicts:
#	front/src/Phaser/Game/GameScene.ts
2020-11-16 15:46:52 +01:00
Gregoire Parant b0bd4c5f40 Merge remote-tracking branch 'github.com/develop' into feature-discussion 2020-11-16 15:43:28 +01:00
Gregoire Parant 2d0fc1072f Fix feedback 2020-11-16 15:05:51 +01:00
Gregoire Parant 73fa0ecbfc Fix init position and trigger layers properties 2020-11-10 17:00:23 +01:00
Gregoire Parant 0acbe20bbf Fix name send in message 2020-11-10 13:00:14 +01:00
Gregoire Parant 3333b3cee3 Fix feedback moufmouf 2020-11-10 12:38:32 +01:00
David Négrier 00b83ae349 Merge branch 'develop' of github.com:thecodingmachine/workadventure into windows-focus-blur-camera 2020-11-06 17:36:43 +01:00
Gregoire Parant a1d3b01619 Fix typo 2020-11-04 16:30:01 +01:00
Gregoire Parant 968787555f Update feedback @moufmouf 2020-11-04 13:33:58 +01:00
Gregoire Parant 6051e5f46a Fix when user have activated action button 2020-11-01 11:53:24 +01:00
Gregoire Parant fcb7f364b6 Fix button action when user have activated 2020-11-01 11:49:09 +01:00
Gregoire Parant 74de2746c2 Create action button 2020-10-31 14:04:55 +01:00
Gregoire Parant 724bb7f288 Merge branch 'develop' into feature-discussion 2020-10-30 20:04:12 +01:00
Gregoire Parant 80355e6b85 fix layout mode click when discussion is activated 2020-10-27 20:46:53 +01:00
kharhamel 67aa2f4b6c opening and closing jitsi windows now trigger some transitions 2020-10-27 17:44:57 +01:00
Gregoire Parant 997acd17ad Update to use update function scene 2020-10-26 22:39:52 +01:00
kharhamel 3fdca94afb refactor: move jitsi creation to a dedicated and cleaned some type in mediaManager 2020-10-23 17:19:14 +02:00
Gregoire Parant cfb6ad581e Fix red circle created 2020-10-21 23:08:05 +02:00
Gregoire Parant e973921390 Fix admin tags
- Fix get size group
- Fix admin tags
- Fix texture already used
2020-10-21 17:22:17 +02:00
Gregoire Parant 1df4cb3e17 Red circle when have 4 users during webrtc meet 2020-10-21 16:07:42 +02:00
David Négrier 45c6e13cad Fixing loading of same custom texture several time
Phaser 3 does not trigger oncomplete event if the resource is already loaded.
2020-10-21 10:34:55 +02:00
David Négrier c03dd4c551 Jitsi room names don't have / 2020-10-20 19:47:28 +02:00
David Négrier 78a4bf3189 Adding custom character textures 2020-10-20 17:42:36 +02:00
Gregoire Parant bf9dfcc835 Ban mesage
- Create type message could be use to send private message at any user
- Create SendMessageUser message
- Add sound when user receive ban message
2020-10-19 19:32:47 +02:00
David Négrier bf01116f63 Removing useless features of Jitsi meet 2020-10-19 12:36:05 +02:00
David Négrier 16d1c2354e Adding fallback to unauthenticated Jitsi 2020-10-19 11:07:49 +02:00
David Négrier 260b0ea408 Adding JWT authentication to Jitsi 2020-10-16 19:23:28 +02:00
David Négrier c259dd582c Fixing change of map with relative URLs 2020-10-16 09:29:18 +02:00
David Négrier c75f1edc40 Merge branch 'develop' of github.com:thecodingmachine/workadventure into player-report
# Conflicts:
#	back/src/Controller/AuthenticateController.ts
2020-10-15 18:01:44 +02:00
David Négrier 0ea7240834 Adding condition to enable reporting only on private rooms 2020-10-15 17:58:27 +02:00
David Négrier 36d73333f5 Adding exitUrl property
The exitUrl property can be applied on a layer to link to any kind of room (private or public)
2020-10-15 15:50:51 +02:00
David Négrier 517b3a644b Fixing URL not being rewritten when changing maps 2020-10-15 14:35:09 +02:00
Gregoire Parant 4799460064 Merge branch 'develop' into player-report
# Conflicts:
#	front/src/Connexion/RoomConnection.ts
2020-10-14 15:06:10 +02:00
David Négrier 98bda49d7e Get tags from the admin
And uses tag "admin" to choose whether to display the console or not
2020-10-14 11:07:34 +02:00
Gregoire Parant 047fa7b594 Merge branch 'player-report-fix-conflict' into player-report
# Conflicts:
#	back/src/Controller/IoSocketController.ts
2020-10-13 21:16:57 +02:00
Gregoire Parant 9c44d37020 Merge remote-tracking branch 'github.com/develop' into player-report
# Conflicts:
#	back/src/Controller/IoSocketController.ts
#	front/src/Phaser/Game/GameScene.ts
#	front/src/index.ts
#	messages/messages.proto
2020-10-13 21:14:46 +02:00
Gregoire Parant 05a1ea8469 Merge branch 'develop' into player-report
# Conflicts:
#	back/src/Controller/IoSocketController.ts
#	front/src/Phaser/Game/GameScene.ts
#	front/src/index.ts
#	messages/messages.proto
2020-10-13 20:39:29 +02:00
David Négrier cb159350e9 Fixed room switching 2020-10-13 18:44:50 +02:00
David Négrier ec93891c6b Using Room class to load GameScene 2020-10-13 17:10:07 +02:00
Gregoire Parant 65406f844e Teleport notification
- Create end point to permit the teleport notification. The map url will be /teleport/token_user
- Create message teleport
- Create receive feature in phaser to teleport

TODO
Teleport player on black room.
2020-10-13 11:39:07 +02:00
David Négrier 0731bd39e5 Moving back to using ScenePlugin and adding EntryScene 2020-10-12 18:59:49 +02:00
arp 02c193a262 rewrote the authorisation flow: give more responsability to gameManager and less to gameScene 2020-10-12 16:45:09 +02:00
Gregoire Parant aeced0c648 create message to report 2020-10-12 11:22:41 +02:00
arp 032facb75f lint fixes 2020-10-09 17:21:46 +02:00
arp f550c5a775 merge from develop 2020-10-09 17:10:24 +02:00
Gregoire Parant 07c17452e7 Merge branch 'develop' into player-report 2020-10-09 16:15:15 +02:00
arp 4af46b1b3f simplified mapUrl parsing 2020-10-08 18:51:24 +02:00
David Négrier 386b25afa0 Switching customizeScene and gameScene to new ResizableScene 2020-10-08 16:00:29 +02:00
Gregoire Parant c63fb6ed6f Add image to report and to teleport player 2020-10-06 23:56:27 +02:00
David Négrier f542b117a8 Refactoring connection to pass room info on connect 2020-10-06 18:11:42 +02:00
David Négrier 1061c80f1f Fixing connection closing 2020-10-01 17:16:49 +02:00
David Négrier d3fa901691 Merge branch 'develop' of github.com:thecodingmachine/workadventure into feature/global-message
+ migrating to protobuf messages

# Conflicts:
#	back/src/App.ts
#	back/src/Controller/IoSocketController.ts
#	back/yarn.lock
#	front/src/Connection.ts
#	front/src/Phaser/Game/GameScene.ts
#	front/src/Phaser/Login/EnableCameraScene.ts
#	front/src/WebRtc/SimplePeer.ts
2020-10-01 14:11:34 +02:00
arp 3f9659ef3c improvments 2020-09-28 15:40:34 +02:00
arp af4611ed29 rewrote the login workflow 2020-09-25 19:23:33 +02:00
David Négrier d7209d8864 Migrating messages locally into back and front 2020-09-24 11:16:08 +02:00
Gregoire Parant 942d2cbcef Refactor and remove prevent default keyboard 2020-09-23 17:22:00 +02:00
David Négrier 76d3779438 Moved GroupUpdateMessage to protobuf 2020-09-21 11:24:03 +02:00
Gregoire Parant e0ae79eaf1 Fini quill box 2020-09-21 00:34:25 +02:00
Gregoire Parant 45ad4bbb36 Send and play audio message 2020-09-20 17:12:27 +02:00
David Négrier b148ca3708 Linting 2020-09-18 18:16:26 +02:00
David Négrier df0636c513 Migrating user position messages to protobuf 2020-09-18 15:51:15 +02:00
David Négrier e9ca8721a6 Migrating userId to "int32" to save some space and adding userMoves message in protobuf 2020-09-18 13:57:38 +02:00
Gregoire Parant e59cbcfaa7 Create console global message
- Add style
- Create zone and button to show the admin console
2020-09-16 21:50:04 +02:00
Gregoire Parant 509196785b Initialise global message
- Create new class to manager global message. My idea is that this class permit to manage audio or text message.
 - Update html to have main content id and inject html in this.
 - Create front event to receive startMessage and stopMessage.
 - Delete impoted variable not used.
2020-09-16 18:38:50 +02:00
David Négrier f5f9dcac04 Making groups part of zones 2020-09-16 16:06:43 +02:00
David Négrier 3a9196fb82 Merge 2020-09-16 11:41:03 +02:00
David Négrier d24ec0bd75 Plugin PositionNotifier into the main application. 2020-09-15 16:21:41 +02:00
David Négrier 9b702c75e3 Adding batched messages + the notion of notifier / zones (not plugged in the system yet) 2020-09-15 10:06:11 +02:00
David Négrier e418e8fd09 Setting the depth of the chat mode / presentation mode to 99999 to avoid melting buttons with map. 2020-09-10 09:31:53 +02:00
David Négrier f70ba1411a Hiding cam details when entering a Jisti room 2020-09-01 14:43:21 +02:00
David Négrier 9351719873 Adding the notion of silent zone 2020-08-31 14:10:01 +02:00
David Négrier df7b5cc2e3 Adding a "silent" notion (triggered in Jitsi meets) 2020-08-31 14:03:40 +02:00
David Négrier 0a8ba37049 Adding Jitsi meet support 2020-08-31 12:18:00 +02:00
David Négrier 01319b50ca Adding a "openWebsite" property that opens websites when we walk over the zone. 2020-08-30 17:37:38 +02:00
David Négrier 168697eb46 Adding a GameMap class that helps tracking when the properties of the tiles the user is changes (when the user moves) 2020-08-30 15:44:22 +02:00
David Négrier fca93663b4 Merge branch 'develop' of github.com:thecodingmachine/workadventure into outline 2020-08-24 18:15:44 +02:00
David Négrier 044495cf05 Centering character in free space
This commit adds the ability to put the character where there is free space when a discussion is hapening (either in presentation or chat mode)
2020-08-24 14:19:36 +02:00
David Négrier 2e61c2ef62 Getting back code in compilable fashion after huge rebase 2020-08-18 00:12:38 +02:00
David Négrier 6b970adc6c Merge branch 'develop' of github.com:thecodingmachine/workadventure into outline
# Conflicts:
#	front/src/Phaser/Game/GameScene.ts
#	front/src/Phaser/Player/Player.ts
#	front/src/index.ts
#	front/yarn.lock
2020-08-17 22:51:37 +02:00
David Négrier 6516e621b0 Adding display / hide of layout buttons when a meet start / ends 2020-08-17 16:12:53 +02:00
David Négrier 7fe2cc19c3 Adding buttons to switch mode 2020-08-17 15:20:03 +02:00
David Négrier 88c099fc13 Improving layout
Fixing left-right switch on all cameras (except current player camera)
2020-08-16 23:19:04 +02:00
David Négrier 24fb605f50 Switching to definitely assigned parameters
This allows us to go in "full strict mode" (yeah!)
See https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-7.html#strict-class-initialization
2020-08-07 23:39:06 +02:00
David Négrier bc929615d1 Fixing problem when switching scenes with container 2020-07-29 11:42:18 +02:00
David Négrier 84529d6e99 Propagating customized sprites all over the game 2020-07-28 17:45:55 +02:00
David Négrier ee612f6585 Adding event support to items 2020-07-27 22:36:58 +02:00
David Négrier d48d5b0285 Fix CS 2020-07-23 18:47:28 +02:00
David Négrier ed146226cf Adding Outline capabilities and a ActionableItem notion. 2020-07-23 18:09:24 +02:00
David Négrier 6879418098 Adding a 404 page when resources loading fails 2020-07-07 22:52:22 +02:00
David Négrier 55767f2c78 Fixing image tileset key
If 2 maps share the same tileset name (even if they use 2 different URLs for the tileset), the tileset image will be reused wrongly.

This commit fixes the tileset key to make it equal to the image URL.
2020-07-07 18:22:10 +02:00
David Négrier 67e07c04f8 Fixing loading of tilesets with margin or padding 2020-07-05 17:10:08 +02:00
David Négrier d78006e106 Fixing memory leak with listeners
The listeners from MediaManager and SimplePeer were never removed, leading to a huge amount of listeners all over the applications when switching regularly of scene.
2020-06-23 15:02:35 +02:00
David Négrier a5514ce78a Code cleanup and removing exception in favor of console error 2020-06-22 18:42:54 +02:00
David Négrier 407c6db070 Fixing difference between MapKey and scene key (prevented proper caching of resources) 2020-06-22 17:18:24 +02:00
David Négrier 3f927280a6 Lint 2020-06-22 16:11:48 +02:00
David Négrier 9b174836cd Making sure connection is established again EVEN if the tab is not displayed 2020-06-22 16:11:02 +02:00
David Négrier f88f28db3f Refactoring reconnection: putting it into the GameScene directly. 2020-06-22 15:00:23 +02:00
David Négrier d785a8a1bf Refactoring connection to be part of a GameScene
Most of the refactoring issues we are seeing are probably due to the fact that we are trying to manipulate a ScenePlugin out of a Scene (the GameManager is not a Scene and holds a reference to a ScenePlugin coming from a Scene that might get invalidated by Phaser 3).
Furthermore, if we want in the future to be able to scale, scenes could be hosted on different servers. Therefore, it makes no sense to have one connexion for the whole application.
Instead, we should have one connexion for each scene.
2020-06-22 11:58:07 +02:00
David Négrier 4496c49621 Fix linting 2020-06-19 18:51:58 +02:00
David Négrier 2b820c7d56 Adding an event queue in the GameScene.
Events are processed only in the 'update' method.
We hope this will solve a number of null pointer errors. See #194
2020-06-19 18:18:43 +02:00
David Négrier e2be99490b Finishing removing any reference to "any" in the front. 2020-06-19 16:36:40 +02:00
David Négrier 39928b46f9 Removing any in the front 2020-06-19 14:30:34 +02:00
David Négrier 8348d13bfe Fixing use const instead of let 2020-06-19 14:30:34 +02:00
David Négrier 54f2518b5e Enabling stricter lint on front 2020-06-19 14:29:29 +02:00
David Négrier 80fddb3c69 Removing dead code 2020-06-10 16:01:01 +02:00
David Négrier 43e4489d4d Fixing start position on disconnect 2020-06-10 14:57:32 +02:00
David Négrier 5042f2f82c Lint 2020-06-07 23:00:05 +02:00
David Négrier c0809e28db Adding support for putting the hash in a map referenced in an exit scene. 2020-06-07 22:57:32 +02:00
David Négrier db3ef81842 Adding the ability to add several entry points
We can now have several start layers and choose an entry point using a # in the URL
2020-06-07 13:23:32 +02:00
David Négrier b82b13e351 Finalizing strict mode fixes 2020-06-04 18:56:59 +02:00
David Négrier 6f69a62d4d More strict fixes 2020-06-04 18:56:59 +02:00
David Négrier 082a11b0cd Allowing ill defined initializers (because of the way Phaser 3 is designed) 2020-06-04 18:56:59 +02:00
David Négrier 82e2c0d985
Merge pull request #149 from thecodingmachine/multiple_start_positions_in_layer
Allowing several start positions in a given start layer
2020-06-03 11:20:57 +02:00
David Négrier 69d2fa6944 Allowing several start positions in a given start layer
If more than one tile was set in the "start" layer, the last tile would be selected.
Now, the tile is selected at random among available tiles.

Also, a message is issued if no tiles have been put on the "start" layer.
2020-06-03 11:14:04 +02:00
David Négrier 9ddf22d36b Removing GameScene from the list of known GameScene when leaving
This is important because when we come back to the GameScene later, some properties of the GameScene object might be initialized with the values of the previous GameScene.
Like the position if the user previously disconnected.

Closes #146
2020-06-03 10:45:25 +02:00
David Négrier d72e60610e Adding PlayersPositionInterpolator to interpolate/extrapolate players positions 2020-06-02 13:44:42 +02:00
David Négrier 077b29bfbd Sending position only every 200ms while moving 2020-06-01 22:42:18 +02:00
David Négrier 21576946f0 Commenting out the notion of status in the GameManager
It seems to be useless
2020-05-25 22:37:07 +02:00
David Négrier 17e7f1b37a Removing dead code from previous messaging system
Remvoing messages that were no more used in the new messaging system (the code used to handle the message that sent the position of all users on the front side)
2020-05-25 22:36:44 +02:00
David Négrier 1fa39b0781 Fixing typos.
Replaced connexion with connection and LogincScene with LoginScene
2020-05-24 23:14:12 +02:00
David Négrier 2448fef53a Adding a notion of instances per mapAdding a notion of instances to room
The URL signature becomes:

https://workadventu.re/_/[instance]/[path_to_map.json]

This allows us to create many instances of the same map (and therefore to create several different worlds for different people)

An exit on a map can target another "instance" by passing the "exitInstance" property.
2020-05-23 17:45:49 +02:00
David Négrier 080e08eeef
Merge pull request #122 from thecodingmachine/reconnecting_scene
Adding a special scene to wait for server reconnection
2020-05-23 17:12:36 +02:00
Gregoire Parant f4ed2e52bf Fix CI 2020-05-23 16:50:17 +02:00
David Négrier 36858f8747 Adding a special scene to wait for server reconnection 2020-05-23 15:43:26 +02:00
Gregoire Parant ab32021fc0 Fix mediam stream manage and server back down 2020-05-23 14:00:36 +02:00
David Négrier ab798b1c09 Changing the "Point" notion to add a notion of "moving" in addition to the notion of direction.
Also, refactoring JOIN_ROOM event to add complete position.
2020-05-22 23:04:45 +02:00
David Négrier f44a44c109 Removing logs 2020-05-20 12:30:17 +02:00
David Négrier 125a4d11af Refactored and optimized messages
Now, when a user moves, only his/her position is sent back to the other users. The position of all users is not sent each time.

The messages sent to the browser are now:

- the list of all users as a return to the join_room event (you can send responses to events in socket.io)
- a "join_room" event sent when a new user joins the room
- a "user_moved" event when a user moved
- a "user_left" event when a user left the room

The GameScene tracks all these events and reacts accordingly.

Also, I made a number of refactoring in the classes and removed the GameSceneInterface that was useless (it was implemented by the LogincScene for no reason at all)
2020-05-19 19:11:12 +02:00
David Négrier 4d1c3517ec When sharing user position, only position is sent now! 2020-05-15 23:47:00 +02:00
David Négrier 4de552437d Completely getting rid of "userid"
Previously, userid was generated by the "/login" route and passed along.
This commit completely removes the uuid "userid" (and disables the LoginController too and any Jwt check).

"userid" is replaced by the "socket id" of the connection.
So a user is now identified using a socket id, which is unique for a given connection.
2020-05-14 23:20:43 +02:00
gparant ec297e3912 Auto-reconnect 2020-05-13 20:22:42 +02:00