Commit graph

941 commits

Author SHA1 Message Date
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
GRL 95bd639124 More statement 2021-06-29 16:50:33 +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
David Négrier ee07f637fa
Merge pull request #1219 from thecodingmachine/rex_outline
Putting an outline on the character name
2021-06-22 18:14:27 +02:00
David Négrier 1ef1a1cb22 Removing useless import 2021-06-22 17:47:54 +02:00
David Négrier f1d00aac0e
Merge pull request #1211 from thecodingmachine/adminSvelte
Migrating ConsoleGlobalMessageManager in svelte
2021-06-22 17:28:37 +02:00
David Négrier dc0f3feabf Putting an outline on the character name
In the future, we might want to put an outline on the whole character body but this is harder as the body is actually a container and so we would need to turn this container into a sprite first.
2021-06-22 17:15:18 +02:00
David Négrier e9dd7ebdd9 Enabling Outline back on actionable objects
Actionable objects (still a prototype) were outlined when you walk next to them.
The OutlinePipeline was broken when moving in Phaser 3.50+.

This PR completely removes the custom OutlinePipeline and replaces it with the rexOutlinePipelinePlugin
that is provided by a third party library and that works great \o/
2021-06-22 16:35:57 +02:00
GRL cec7087fc2 Merge branch 'develop' of github.com:thecodingmachine/workadventure into metadataScriptingApi 2021-06-22 16:28:45 +02:00
GRL 67d4c6e271 Resolve review 2021-06-22 16:12:53 +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 64a00481f0 fixed wrong import 2021-06-21 18:39:02 +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 5bf943ce77 converted cache to constant lookup time 2021-06-20 19:14:04 +02:00
jonny 92485a02cf tileIndex setting got merged out 2021-06-19 15:46:32 +02:00
jonny c1d9b2c9ed coverted property map to object 2021-06-19 15:41:58 +02:00
jonny 27ccdf165c fixed merge imports 2021-06-19 15:24:27 +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 76261de805 Enabling back the open report feature 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
David Négrier e6264948b1
Merge pull request #946 from jonnytest1/load-page-api
Load page iframe-api
2021-06-16 18:10:10 +02:00
David Négrier 0afdbf7040 Fixing Svelte-check errors 2021-06-15 18:34:11 +02:00
kharhamel c559b2104b scene cleanup 2021-06-15 15:32:40 +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
GRL 09da69c24a CustomizeScene buttons use moveHorizontally and moveVertically 2021-06-15 11:16:44 +02:00
GRL b04016f30f Merge branch 'develop' of github.com:thecodingmachine/workadventure into gameSizeFix 2021-06-15 09:06:47 +02:00
David Négrier 6bca3469b6 Removing useless import 2021-06-14 18:44:20 +02:00
David Négrier 1fa03e44df Fixing size of camera on resize
The size of the Camera after a change in zoom is only computed on the "render" step.
Therefore, we should wait the "render" step to call GameScene.onResize.

Closes #1180
2021-06-14 18:40:58 +02:00
David Négrier f16514db21
Merge pull request #1177 from thecodingmachine/bugfix/1167
Making code more robust regarding scene being null in Character class
2021-06-14 16:54:12 +02:00
David Négrier dcd44f283f Making code more robust regarding scene being null in Character class
Not sure how this can happen but it does.
Closes #1167
2021-06-14 16:40:33 +02:00
David Négrier e3ee66527a Fixing bug slowing down the CustomizeScene a lot
By forcing the containers to be updated only in the "update" method, we seem to be solving some bugs regarding the way sprites are handled.
There is still an issue though. Some times, for some reasons, the update list seems to be growing a lot.
The more we click the left/right arrow to choose a character, the slower it gets (but with this commit, it does not lock anymore)
2021-06-14 16:32:09 +02:00
GRL b239edb266 Clean code 2021-06-14 16:09:41 +02:00
GRL 281b8580cd Use window and not viewport in css for main-container 2021-06-14 15:54:22 +02:00
GRL f103a919f2 Merge branch 'develop' of github.com:thecodingmachine/workadventure into gameSizeFix 2021-06-14 14:25:59 +02:00
GRL d26502a724 Use HtmlUtils to get DOM Element game 2021-06-10 09:23:25 +02:00
grégoire parant 5a2b3a303a
Improve texture loaded from admin (#1151) 2021-06-09 22:33:42 +02:00
GRL 6868128267 DOM Element game resize at the same time and the same size at the canvas of phaser
Remove VisitCard scss unused
2021-06-09 18:08:14 +02:00
kharhamel dd45996f9c FIX: improved the visit card, cleanup the code 2021-06-08 16:39:22 +02:00
David Négrier e3223164b6
Merge pull request #1117 from thecodingmachine/selectCharacterFix
Fix : SelectCharacterScene and SelectCompanionScene
2021-06-08 10:29:21 +02:00
Kharhamel e2295d2419
Merge pull request #1133 from thecodingmachine/disableVisitCard
FIX: the visit card feature can now be disabled client side
2021-06-07 19:12:37 +02:00
kharhamel 1264b286b2 FIX: trying to start a emote after a scene is desotryed should not crash the game 2021-06-07 15:11:54 +02:00
kharhamel 26f21fe6e4 FIX: the visit card feature can now be disabled client side 2021-06-07 15:01:21 +02:00
GRL edfdc3bf47 comment on pointerTimer and pointerClicked 2021-06-07 09:17:24 +02:00
GRL 3e19234edc Change <dialog> for ErrorDialog in <div> because only Chrome knows <dialog> 2021-06-04 16:32:21 +02:00
GRL 247d508d09 create PR to test iphone compatibility 2021-06-04 10:01:08 +02:00
GRL 0d2b190222 Replace setTimeout by timer manage in Update 2021-06-04 09:39:33 +02:00
kharhamel c5f3cfe87c FEATURE: clicking on another player show a contact card when possible 2021-06-03 17:58:21 +02:00
grégoire parant fffd36267d
Hot Custom Characters Scene (#1113) 2021-06-03 17:22:31 +02:00
GRL 02ff6fb5bf Add timer so that pointerdown event can't be call two time in one click 2021-06-03 17:08:56 +02:00
GRL c435b7451e Update don't call createPlayer but call moveUser
Change time of pointerclicked from 100ms to 250ms
Suppression of console.log
2021-06-03 16:54:52 +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
grégoire parant 2b13b764b4
Public texture (#1093)
* Public texture

 - Front => Get texture when user connected on public method
 - Front => Anonymous login will be make every connexion to get map details
 - Pusher => `/anonymLogin` permit to get map details and public texture load in customize scene

* Improve texture local user

- Permit to keep previous texture get with 'register' link

* Texture public loading

 - Texture will be load with Room class
 - Fix issue on lazzy loading atttempt

* Remove async await useless
2021-06-03 13:07:52 +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
GRL 304675bc74 Merge remote-tracking branch 'origin/resizeSelect' into resizeSelect 2021-06-02 18:01:42 +02:00
GRL 59d60f54fe Save zoom level in the gameScene and restore it after the SelectCharacterScene and CustomizeScene 2021-06-02 18:01:36 +02:00
David Négrier 100198b55c Using "standardized-audio-context" to fix compatibility of AudioContext with Safari. 2021-06-02 17:58:58 +02:00
David Négrier f4880cc1d0 Merge branch 'resizeSelect' of github.com:thecodingmachine/workadventure into resizeSelect 2021-06-02 16:48:53 +02:00
David Négrier 267d0a2cd1 Moving audio message to Svelte 2021-06-02 16:46:28 +02:00
GRL 3d9e2ad49a Save zoom level of the game and restore it when quitting the login scenes
SelectCompanionScene with zoom on mobile
2021-06-02 16:08:31 +02:00
GRL 5bd5245044 SelectCharacterScene and CustomCharacterScene mobile version 2021-06-02 12:00:35 +02:00
David Négrier bf7083effc Migrating EnableCameraScene to Svelte 2021-06-01 16:17:36 +02:00
David Négrier c7b3e3cd44 Merge branch 'resizeSelect' of github.com:thecodingmachine/workadventure into resizeSelect 2021-06-01 11:19:56 +02:00
David Négrier 47555d5955 Migrating cam to Svelte on Camera setup screen 2021-06-01 11:19:46 +02:00
GRL 9a5300dd2d helpCameraSettingPopup in svelte with nes-css 2021-06-01 11:07:52 +02:00
David Négrier 5839e0b270 Throwing exceptions into store subscribers is wreaking havok 2021-06-01 09:17:01 +02:00
David Négrier 9063ba2a1f Removing call to removed method 2021-06-01 09:12:31 +02:00
David Négrier 9d6b597552 Starting working towards migrating the help camera popup 2021-06-01 09:08:02 +02:00
GRL 047337ae81 Merge branch 'resizeSelect' of github.com:thecodingmachine/workadventure into resizeSelect 2021-05-31 17:53:44 +02:00
GRL 4923ce8b83 selectCharacterScene and customCharacterScene in svelte 2021-05-31 17:50:14 +02:00
David Négrier cb03580421 Partial migration of EnableCameraScene to Svelte 2021-05-31 17:49:41 +02:00
David Négrier 13d3227323 Migrating LoginScene to Svelte 2021-05-31 17:03:29 +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 679b5b6b79 FIX: better error text in LoginScene 2021-05-28 17:51:18 +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 fac6574cb5 Removing console.log and unused files 2021-05-26 16:08:43 +02:00
David Négrier d32df13f1b Camera now show up when someone is moving and hides 5 seconds after we stop moving.
Also, added an animation to show/hide the webcam.
2021-05-26 12:12:46 +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 b4fa38bf8c Merge remote-tracking branch 'origin/metadataScriptingApi' into metadataScriptingApi 2021-05-25 17:21:12 +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
GRL78 7c44d747de
Apply suggestions from code review
Co-authored-by: David Négrier <d.negrier@thecodingmachine.com>
2021-05-25 11:02:25 +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 d93b30f982 improved radial menu 2021-05-19 18:11:51 +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 2ea731beeb
Merge pull request #1057 from thecodingmachine/physics_flag
Making sure Physics is not enabled several times
2021-05-18 10:26:32 +02:00
David Négrier c9eb5691b5
Merge pull request #1045 from thecodingmachine/svelte
Installing Svelte in front container
2021-05-18 10:25:54 +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 24dfa2703d Set a global dirty flag on resize
This adds a global "Dirty" flag at the Game level and sets it each time the ScaleManager is modified.
This fixes a bug where the game was not redrawn when a CoWebsite was opening/closing.
2021-05-18 09:20:38 +02:00
David Négrier 1885ea42a4 First working example with Svelte (the menu icon shows up on entering the game) 2021-05-17 16:39:56 +02:00
kharhamel a66d42e158 FEATURE: we now allow a global zoom level of 1.5 2021-05-17 16:11:38 +02:00
kharhamel a23e72454d FEATURE: added the env variable DISABLE_DIRTY_CHECKS 2021-05-17 14:47:34 +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 d2b122efe5
Merge pull request #1035 from thecodingmachine/improveDirtyScene
FIX: trackDirtyAnims now listen to more generic events
2021-05-11 17:08:29 +02:00
kharhamel 4ec5ad9e33 FIX: trackDirtyAnims now listen to more generic events 2021-05-11 16:44:31 +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 78d4985d10
Merge pull request #1028 from thecodingmachine/fixOnMapExit
FIX: triggering a map transition now ignores other map transitions for 500ms
2021-05-11 14:21:06 +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
grégoire parant bd4cf5d7f7
Fix error context sound meter (#1009) 2021-05-10 19:55:43 +02:00
David Négrier 0411d5e493 Fixing "camera popup" always display on resize
This fixes a bug where the "camera popup" window was always displayed when the screen was resized.
2021-05-10 19:05:01 +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
DESKTOP-FMM8UI0\CLV e655edd9bd export class Popup and Soud of Iframe Api
let become const in SoundManager
2021-05-07 17:03:07 +02:00
David Négrier 5605e63e5f
Merge pull request #998 from thecodingmachine/skiprender2
Skip "render" if nothing changed on screen (2)
2021-05-07 15:44:08 +02:00
Gregoire Parant 62a6eabc88 Merge branch 'master' into develop 2021-05-07 00:07:43 +02:00
grégoire parant 0e32238505
HotFix custom WOKA (#999) 2021-05-06 19:58:08 +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 189dba2e21 Fixing memory leak when switching scenes 2021-05-06 15:38:24 +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 3751b0e2bc Removing RESOLUTION and ZOOM_LEVEL settings: they are no more needed or supported 2021-05-05 17:11:03 +02:00
David Négrier 7ae66a63a4 Refactoring centering of DOM elements 2021-05-05 17:10:39 +02:00
David Négrier 04448c3c50 Fixing button position in webcam setting page 2021-05-05 15:46:02 +02:00