Commit graph

765 commits

Author SHA1 Message Date
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 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