Commit graph

638 commits

Author SHA1 Message Date
GRL d0aaa0620d Merge branch 'develop' of github.com:thecodingmachine/workadventure into metadataScriptingApi 2021-05-25 09:24: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
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 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 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