Commit graph

393 commits

Author SHA1 Message Date
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
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
kharhamel 595c5ca64d now use custom emotes with tweens instead of transistions 2021-05-25 16:37:24 +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
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
kharhamel 20ec609535 FIX: rejected map axios promises are now catched 2021-05-18 11:45:07 +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
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
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
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
kharhamel fe27169745 solved conflict with develop 2021-04-29 10:31:16 +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