Commit graph

714 commits

Author SHA1 Message Date
GRL 9e16bfc366 playGlobalMessage are receive as adminRoomMessage
Suppression of GlobalMessageManager and TypeMessage
Migrating message to svelte
2021-07-22 16:14:27 +02:00
David Négrier f435cecfdc Merge branch 'develop' of github.com:thecodingmachine/workadventure into scripting_api_room_metadata 2021-07-21 15:37:53 +02:00
Lurkars f43deff626 use emote button 2021-07-21 09:41:22 +02:00
Lurkars 83bd19c8dc Merge branch 'develop' of github.com:thecodingmachine/workadventure into twemojiEmoteMenu 2021-07-20 16:27:49 +02:00
GRL78 9432c82386
Change address mail to contact us (#1282) 2021-07-19 17:05:23 +02:00
David Négrier 5c7ea7b258 Merge branch 'develop' of github.com:thecodingmachine/workadventure into scripting_api_room_metadata 2021-07-16 11:22:36 +02:00
David Négrier c9fa9b9a92 Migrating away from the notion of public/private URL in WorkAdventure Github repository
The notion of public/private repositories (with /_/ and /@/ URLs) is specific to the SAAS version of WorkAdventure.
It would be better to avoid leaking the organization/world/room structure of the private SAAS URLs inside the WorkAdventure Github project.

Rather than sending http://admin_host/api/map?organizationSlug=...&worldSlug=...&roomSlug=...., we are now sending /api/map&playUri=...
where playUri is the full URL of the current game.
This allows the backend to act as a complete router.
The front (and the pusher) will be able to completely ignore the specifics of URL building (with /@/ and /_/ URLs, etc...)
Those details will live only in the admin server, which is way cleaner (and way more powerful).
2021-07-15 17:07:47 +02:00
Kharhamel 41a1f56bd5
Merge pull request #1111 from thecodingmachine/svelteChat
FEATURE: migrated the chat window to svelte
2021-07-13 11:25:38 +02:00
GRL f7127bfb5a Graphic upgrade 2 2021-07-13 11:05:34 +02:00
kharhamel 3cfbcc6b02 FEATURE: migrated the chat window to svelte 2021-07-07 18:07:58 +02:00
David Négrier e65e8b2097 First version with variables that actually work 2021-07-07 17:17:28 +02:00
David Négrier ae9af56661
Merge pull request #1264 from thecodingmachine/UpdateShowHideLayer
Show/Hide Layer now unset collision and can show/hide all the layer in a group layer
2021-07-07 17:15:41 +02:00
GRL e50292a2ba Add documentation
No second parameter
2021-07-07 16:58:54 +02:00
GRL 6f6ad949ca Merge branch 'develop' of github.com:thecodingmachine/workadventure into UpdateShowHideLayer 2021-07-07 16:34:36 +02:00
GRL 24811e0a31 SetProperty delete a property where tha value is undefined and load the map of exitUrl property 2021-07-07 14:59:40 +02:00
GRL d51ac45079 Show/Hide Layer now unset collision and can show/hide all the layer in a group layer 2021-07-07 14:26:53 +02:00
David Négrier 5116b82e77 Merge branch 'develop' of github.com:thecodingmachine/workadventure into scripting_api_room_metadata 2021-07-07 11:55:00 +02:00
David Négrier 34cb0ebf39 Users blocking now rely on UUID rather than ID
This way, if a user A blocks another user B, if user B refreshes the browser or leaves and re-enters the room, user B will still be blocked.
As a side effect, this allows us to completely remove the "sockets" property in the SocketManager on the Pusher.
2021-07-07 11:24:51 +02:00
David Négrier 19bd1045e1 Merge branch 'develop' of github.com:thecodingmachine/workadventure into scripting_api_room_metadata 2021-07-06 17:24:16 +02:00
David Négrier 46e6917df6 Adding a playersStore
The playerStore can be useful to get the details of a given player from its ID.
2021-07-06 17:13:08 +02:00
David Négrier c30de8c6db Adding support for default variables values 2021-07-05 17:25:23 +02:00
David Négrier 62a4814961 Migrating WA.player.getCurrentUser and WA.room.getCurrentRoom to direct property access and WA.room.getMap 2021-07-05 11:53:33 +02:00
jonny 310e131a6e eslint restart 2021-07-02 19:03:34 +02:00
jonny 369d453455 Merge remote-tracking branch 'remotes/upstream/develop' into trigger-message-refv3 2021-07-02 18:49:22 +02:00
David Négrier ea1460abaf Adding variables (on the front side for now) 2021-07-02 17:36:43 +02:00
David Négrier 280c59e6b5 Changing callback signature of registerAnswerer so that it can return a value and not necessarily a promise. 2021-07-02 17:26:28 +02:00
David Négrier 5b4a72ea1f Add new "query/answer" utility functions for the scripting API
So far, the scripting API was using events to communicate between WA and the iFrame.
But often, the scripting API might actually want to "ask" WA a question and wait for an answer.

We dealt with this by using 2 unrelated events (in a mostly painful way).

This commit adds a "queryWorkadventure" utility function in the iFrame API that allows us
to send a query, and to wait for an answer. The query and answer events have a unique ID to be
sure the answer matches the correct query.

On the WA side, a new `IframeListener.registerAnswerer` method can be used to register a possible answer.
2021-07-02 16:49:22 +02:00
GRL 8644389d7e remove unnecessary conversion type 2021-07-02 14:45:27 +02:00
GRL c5b5326480 setProperty function doesn't set an empty array if property doesn't exist 2021-07-02 14:40:18 +02:00
GRL e1611969ce Merge branch 'develop' of github.com:thecodingmachine/workadventure into jonnytest1-tiles-start-positions 2021-07-02 14:35:28 +02:00
GRL 01d02124d1 Merge branch 'develop' of github.com:thecodingmachine/workadventure into metadataScriptAPIV2 2021-07-01 11:38:33 +02:00
David Négrier 8f3d9277ac Merging master into develop 2021-06-29 18:39:43 +02:00
Lurkars c264364752 Twemoji Emote Menu 2021-06-29 08:37:01 +02:00
David Négrier 1e57028e6e Renaming changeTile to setTiles 2021-06-28 14:58:49 +02:00
GRL ed84dacb9c Merge branch 'develop' of github.com:thecodingmachine/workadventure into metadataScriptAPIV2 2021-06-28 12:01:08 +02:00
GRL b182a08ca2 correction from review 2021-06-28 09:33:13 +02:00
jonny bbdf0a1289 fixed merge conflict 2021-06-25 18:20:16 +02:00
jonny 7f61e9addd Merge remote-tracking branch 'remotes/upstream/develop' into tiles-start-positions 2021-06-25 18:14:40 +02:00
jonny 769e0fcc29 refactor to position object 2021-06-25 18:03:43 +02:00
jonny c7fa5cab8b cleanup 2021-06-25 17:57:09 +02:00
jonny f536d538ea added backwards compatible check and maps 2021-06-25 17:35:42 +02:00
David Négrier ac97cf5772 Fixing a lock when the player is moving from one room to the other
This was due to a store not properly unsubscribed when changing rooms.
2021-06-24 17:02:57 +02:00
David Négrier 8c8649b584
Merge pull request #1232 from thecodingmachine/fixCollides
Fix collides
2021-06-24 15:19:10 +02:00
kharhamel a094e16c1f FIX: solved a menu crash 2021-06-24 12:14:28 +02:00
GRL dcc7f2a686 Fix collides 2021-06-24 12:10:44 +02:00
GRL c79603d7fa Merge branch 'develop' of github.com:thecodingmachine/workadventure into metadataScriptAPIV2 2021-06-24 11:55:07 +02:00
David Négrier 2f282e3469 peerStore loading order caused issues. Fixed in GameScene (+ extracted a few stores in their files) 2021-06-24 11:54:09 +02:00
GRL 4903911d62 Merge branch 'develop' of github.com:thecodingmachine/workadventure into metadataScriptAPIV2 2021-06-24 11:33:29 +02:00
GRL a666bf310b Change Tiles 2021-06-24 11:31:29 +02:00
David Négrier e4708149e0 Merge branch 'develop' of github.com:thecodingmachine/workadventure into svelte_video_overlay
# Conflicts:
#	front/package.json
#	front/src/Components/App.svelte
#	front/src/Phaser/Game/GameScene.ts
#	front/src/Phaser/Menu/MenuScene.ts
#	front/src/WebRtc/MediaManager.ts
2021-06-24 10:49:55 +02:00
jonny 5472d220ba added trigger message code 2021-06-23 17:32:32 +02:00
jonny 64847cd465 adjusted null if no hash 2021-06-23 12:42:24 +02:00
jonny b20b4abb9e allow start hashes in tiles
# Conflicts:
#	front/src/Phaser/Game/GameScene.ts
2021-06-23 12:37:50 +02:00
GRL 24cc340cb9 Merge branch 'metadataScriptingApi' of github.com:thecodingmachine/workadventure into metadataScriptAPIV2 2021-06-23 12:02:29 +02:00
GRL 2a2cea2cd5 Merge branch 'develop' of github.com:thecodingmachine/workadventure into metadataScriptingApi 2021-06-23 11:40:08 +02:00
GRL bdb32a29e1 New methods refactored 2021-06-23 11:32:11 +02:00
David Négrier b7934d9d03 Merge branch 'develop' of github.com:thecodingmachine/workadventure into functional-tile-properties 2021-06-23 10:40:59 +02:00
GRL b50df10a49 Merge branch 'develop' of github.com:thecodingmachine/workadventure into metadataScriptingApi 2021-06-23 09:25:13 +02:00
GRL 85fe92f604 Merge branch 'menu-commands-apiref' of github.com:jonnytest1/workadventure into metadataScriptingApi 2021-06-23 09:18:20 +02:00
GRL cec7087fc2 Merge branch 'develop' of github.com:thecodingmachine/workadventure into metadataScriptingApi 2021-06-22 16:28:45 +02:00
GRL 0728d462a5 Merge branch 'develop' of github.com:thecodingmachine/workadventure into adminSvelte 2021-06-22 16:08:06 +02:00
David Négrier eb526f5b67 Upgrading animatedtiles plugin to trigger an event when an animation occurs and setting the scene to dirty state 2021-06-22 14:21:15 +02:00
GRL ca3f5c599a Merge branch 'develop' of github.com:thecodingmachine/workadventure into metadataScriptingApi 2021-06-22 14:00:19 +02:00
GRL 0cc7ed1647 Merge branch 'develop' of github.com:thecodingmachine/workadventure into adminSvelte 2021-06-22 10:36:16 +02:00
jonny ba1bcf226a menu command api 2021-06-21 18:22:31 +02:00
David Négrier e4dab5fd0d Merge branch 'develop' of github.com:thecodingmachine/workadventure into feature/animated-tiles
# Conflicts:
#	front/package.json
#	front/tsconfig.json
#	front/yarn.lock
2021-06-21 17:26:00 +02:00
GRL 232fd33ec8 Migrating ConsoleGlobalMessageManager in svelte 2021-06-21 17:19:27 +02:00
David Négrier 77a4d23301 Renaming biggestAvailableArray to biggestAvailableArea + removing duplicated code. 2021-06-21 14:07:03 +02:00
jonny 74dda8ab69 allow properties on tiles
# Conflicts:
#	front/src/Phaser/Game/GameMap.ts
#	front/src/Phaser/Map/ITiledMap.ts
2021-06-19 15:23:30 +02:00
David Négrier 227575043b Removing dead code 2021-06-17 18:56:30 +02:00
David Négrier d6ec0d22d3 Code cleanup 2021-06-17 10:35:08 +02:00
David Négrier d533894a74 Fixing warnings and moving biggest area compute in store 2021-06-17 10:13:23 +02:00
David Négrier 3b278d0498 Removing dead code 2021-06-17 10:07:27 +02:00
David Négrier 5cf5e0ce2b Changing the way we focus a video element.
Now, only one video element can be important.
2021-06-17 10:07:27 +02:00
David Négrier e7b0f859a5 Migrating the video overlay in Svelte (WIP) 2021-06-17 10:07:27 +02:00
jonny 7712bd685b fixed merge errors 2021-06-15 15:19:45 +02:00
jonny 238f333b81 Merge remote-tracking branch 'remotes/workadventure-main/develop' into load-page-api
# Conflicts:
#	front/src/Api/Events/IframeEvent.ts
#	front/src/Api/IframeListener.ts
#	front/src/Phaser/Game/GameScene.ts
#	front/src/iframe_api.ts
2021-06-15 15:05:49 +02:00
kharhamel dd45996f9c FIX: improved the visit card, cleanup the code 2021-06-08 16:39:22 +02:00
kharhamel c5f3cfe87c FEATURE: clicking on another player show a contact card when possible 2021-06-03 17:58:21 +02:00
David Négrier 50e994c674 Attempt to switch bubble sound playing into Phaser
In iOS, we cannot trigger a playing sound if it does not start from a user gesture.
This is a huge bummer for a notification sound!

This is an attempt to switch sound playing to Phaser, which is using under the hood the WebAudio API.
This might solve the issue.
2021-06-03 15:40:44 +02:00
kharhamel b8ffe5038c FIX: on a touch screen, the menu emote will not open if more than one pointer is used 2021-06-03 10:22:06 +02:00
David Négrier 267d0a2cd1 Moving audio message to Svelte 2021-06-02 16:46:28 +02:00
GRL b8873d1277 selectCompanionScene work with svelte 2021-05-31 12:06:11 +02:00
GRL 471ff2bb01 Merge branch 'develop' of github.com:thecodingmachine/workadventure into resizeSelect 2021-05-31 10:21:15 +02:00
GRL 1ac108a9b8 correction of resize select character and companion by David 2021-05-31 10:20:48 +02:00
kharhamel 12da6ddd6c FEATURE: improved the display of player names, with the font-family 'Press start 2P' and gray outlines 2021-05-28 15:33:10 +02:00
GRL 276b404dd9 Merge remote-tracking branch 'origin/metadataScriptingApi' into metadataScriptingApi 2021-05-28 12:13:25 +02:00
GRL 858a513569 correction of adding custom menu
correction of setProperty
updating CHANGELOG
updating api-reference
2021-05-28 12:13:10 +02:00
David Négrier 5d8d729bd7 Uncommenting action 2021-05-27 18:25:27 +02:00
GRL 6dcb0d3750 first step to change tile 2021-05-27 17:06:39 +02:00
GRL 9cd3ff1d31 Merge branch 'correct-merge' into metadataScriptAPIV2 2021-05-27 10:16:00 +02:00
GRL acbe4f89a6 Merge branch 'update-game-tiles' into correct-merge 2021-05-27 09:45:25 +02:00
GRL 5565ddd3f4 Merge branch 'develop' of github.com:thecodingmachine/workadventure into metadataScriptingApi 2021-05-26 17:22:37 +02:00
David Négrier 870f16f9c6 Merge branch 'develop' of github.com:thecodingmachine/workadventure into SoundInMapScript 2021-05-26 16:15:33 +02:00
David Négrier 8af8ccd54b Migrating MediaManager game part to Svelte store 2021-05-26 12:12:18 +02:00
David Négrier 28d78a7988 Switching MediaManager to using a Svelte store
This allows cleaner and more expressive code, especially regarding whether the webcam should be on or off.
2021-05-26 12:11:16 +02:00
David Négrier 4f4d2532b7
Merge pull request #1082 from thecodingmachine/disabling_physics_optim
Moving Physics optim to DirtyScene
2021-05-26 12:08:57 +02:00
David Négrier bc19cbd525 Moving Physics optim to DirtyScene
The Physics engine is now disabled only if no sprites are moving (if they have no velocity).
Also, if a sprite is moving (if it has a velocity), the dirty state is set.
2021-05-26 12:00:27 +02:00
GRL 17261dfab6 Merge branch 'develop' of github.com:thecodingmachine/workadventure into metadataScriptingApi 2021-05-26 10:58:25 +02:00
GRL a5cb93541a correction from code review 2021-05-25 17:21:02 +02:00
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