Commit Graph

704 Commits

Author SHA1 Message Date
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
Gregoire Parant
83fc7d0cc0 Merge branch 'develop' into exitTriggerAction
# Conflicts:
#	front/src/Phaser/Game/GameScene.ts
2021-02-17 19:28:41 +01:00
znerol
9670f92a08 Allow URLs relative to map base in iframe / openWebsite 2021-02-16 10:53:50 +01:00
MisterErwin
aff4c8d145
Do not change rooms if scene failed to load
Sometimes a following room fails to load (e.g., #582) and instead of fading to black (as no scene is active) when trying to enter that next room, the player will stay in the old room and an error is logged (as throwing one crashes the game).
2021-02-13 14:15:09 +01:00
Gregoire Parant
b92b7304b0 Fix to use clear All Keys 2021-02-11 21:48:24 +01:00
David Négrier
91fddd6893 Slugifies the Jitsi room name
This will avoid Jitsi breaking on unexpected characters and displaying a HTTP 404 error.
2021-02-10 13:51:17 +01:00
David Négrier
f6e93da48a Fixing loading logo being displayed when nothing was loaded 2021-02-10 12:08:16 +01:00
David Négrier
a5bdf68246 Moving property reading inside startJitsi (startJitsi is called at 2 different places) 2021-02-10 11:08:57 +01:00
Mickael Chimansky
5cb9624b0b fixup! Jitsi config properties 2021-02-09 20:31:49 +01:00
Mickael Chimansky
9c4d0aa32f Jitsi config properties 2021-02-09 16:05:21 +01:00
Gregoire Parant
4de9b8ba40 Fix icon discussion
- Fix size of discussion icon
- Update x and y when page is resize
- Fix blanc link in chat
2021-02-03 23:11:33 +01:00
grégoire parant
c41c058fb0
Merge pull request #527 from oliverlorenz/feature/iframe-feature-policy
feat: adds property openWebsitePolicy property to set "allow" property in iframe
2021-02-03 17:38:35 +01:00
grégoire parant
f2b9f6c92a
Merge pull request #686 from thecodingmachine/publicReportedUser
Permit puiblic report
2021-02-02 18:09:25 +01:00
Gregoire Parant
7eb38fae83 Permit puiblic report
- Create report html
 - Add report flag
2021-01-29 21:09:10 +01:00
kharhamel
f2c3d6f158 downgraded phaser version to 3.24.1 2021-01-28 23:03:06 +01:00
grégoire parant
86f1099247
Merge pull request #648 from thecodingmachine/customCharacterLadyLoading
Fix custom character lazy loading
2021-01-26 15:27:46 +01:00
Gregoire Parant
45b355f780 Refactor lazy loading 2021-01-26 15:21:23 +01:00
Gregoire Parant
1dd2858424 Fix feadback @Kharhamel 2021-01-26 14:04:42 +01:00
Gregoire Parant
803be36def Merge branch 'develop' into customCharacterLadyLoading 2021-01-26 09:02:17 +01:00
Gregoire Parant
c6903cc4c5 Use Error scene and add banned message 2021-01-26 08:57:10 +01:00
Gregoire Parant
8de05c39c1 Lock user when he was banned 2021-01-25 14:10:16 +01:00
Gregoire Parant
beb53df364 Error problem open new map 2021-01-25 13:18:57 +01:00
Gregoire Parant
5f88a1a0b9 Exit trigger action
- [x] Add trigger message custom
- [x] Add trigger for exit map
- [x] Update documentation
2021-01-25 12:21:40 +01:00
Kharhamel
39194b5531
Merge pull request #642 from tabascoeye/patch-1
cleanup when closing the scene
2021-01-25 10:35:01 +01:00
Kharhamel
d32fca9777
Merge pull request #597 from psy/feature_streams
add remote files and streams to playAudio
2021-01-25 10:33:43 +01:00
Gregoire Parant
75d8d46c62 clean 2021-01-24 16:02:10 +01:00
Gregoire Parant
d93a8da828 Fix custom character lazy loading 2021-01-24 15:57:47 +01:00
TabascoEye
39b433eef5
Update GameScene.ts
stop all the map specific stuff (Jitsi, coWebsite, Audio) when leaving the scene
Fixes #633
2021-01-23 01:16:13 +01:00
David Négrier
adca51f6de Replacing FourOFourScene with more generic ErrorScene 2021-01-17 20:42:45 +01:00
psy
8d67947bc1 move map url to else case 2021-01-14 11:48:06 +01:00
psy
f431e769cc add remote files and streams to playAudio 2021-01-14 11:45:14 +01:00
kharhamel
472fbb1de0 All player textures are now lazy-loaded 2021-01-08 11:44:41 +01:00
Piotr Dobrowolski
af260ad229 front: add AnimatedTiles plugin 2021-01-07 18:37:57 +01:00
kharhamel
3ce8427378 fixed a game crashed because of lack of animations and improved the character class 2021-01-07 12:46:13 +01:00
kharhamel
fbb44af369 added a basic loader 2021-01-06 17:08:48 +01:00
kharhamel
1359fbe977 updated phaser to version 3.51 and fixed the BC 2021-01-06 15:00:54 +01:00
Piotr Dobrowolski
28d687e338 front: implement map sounds 2021-01-04 16:57:31 +01:00
Oliver Lorenz
7c89cf0e47 feat: adds property openWebsitePolicy to set allow property in iframe 2020-12-29 23:17:16 +01:00
David Négrier
e5138e1c03
Merge pull request #505 from thecodingmachine/fixFrameLocalStorage
Manage Local Storage customers player error
2020-12-18 16:33:36 +01:00
Gregoire Parant
a1fd209578 Fix catch error 2020-12-18 16:30:22 +01:00
David Négrier
36f886aed6 Fixing cat running too fast on reconnect scene because animations were duplicated 2020-12-18 16:08:04 +01:00
David Négrier
df114bc1ce Fixing broken reconnection 2020-12-18 15:59:07 +01:00
Gregoire Parant
323fa6abba Create exception error 2020-12-18 14:30:46 +01:00
Gregoire Parant
f5dd5efc0e Manage Local Storage customers player error 2020-12-18 13:56:25 +01:00
kharhamel
eb88db92be FIX: going back a 2nd time to SelectCharacterScene used to crash the game 2020-12-16 15:09:58 +01:00
kharhamel
de9d6756b4 FIX: going to loginScene or customizeScene and then clicking next bring you back directly to the gameScene 2020-12-15 18:00:04 +01:00
kharhamel
069f2f1cec FEAT: prototype game menu using html elements, better icon for text chat 2020-12-15 16:37:57 +01:00
David Négrier
855b55903b
Merge pull request #440 from psy/develop
center spawn position in the middle of a tile
2020-12-11 17:36:10 +01:00
David Négrier
2122014947 Merge branch 'develop' of github.com:thecodingmachine/workadventure into scaling
# Conflicts:
#	front/src/Phaser/Game/GameScene.ts
2020-12-11 13:06:10 +01:00
David Négrier
6f2c319785 Merge branch 'master' of github.com:thecodingmachine/workadventure into scaling
# Conflicts:
#	back/src/Services/SocketManager.ts
#	deeployer.libsonnet
#	docker-compose.yaml
#	front/src/Connexion/RoomConnection.ts
#	front/src/Enum/EnvironmentVariable.ts
#	front/src/Phaser/Game/GameScene.ts
#	front/webpack.config.js
#	pusher/src/Controller/IoSocketController.ts
2020-12-11 13:00:11 +01:00
David Négrier
a19edd4dc1 Fixing reconnection to server on back failure 2020-12-03 16:39:44 +01:00
Kharhamel
95665a28d5
Merge pull request #456 from thecodingmachine/performance
Performance settings
2020-12-03 14:33:12 +01:00
Gregoire Parant
27634a61ee Create menu to set your quality video and game 2020-11-27 16:24:07 +01:00
David Négrier
4c1e566a6c Adding a Pusher container as a middleware/dispatcher between front and back 2020-11-26 17:53:30 +01:00
kharhamel
65785240e1 FIX: room id is now pushed to the url 2020-11-25 17:17:48 +01:00
psy
f08aec28c0 use tilewidth and tileheight to center spawn position dynamically 2020-11-25 15:58:10 +01:00
kharhamel
8d8b879ed6 FIX: the game now uses the url hash to choose the start layer 2020-11-24 14:43:21 +01:00
kharhamel
09d6d22a5d FIX: rewrote the way scene exits are triggered 2020-11-24 14:43:21 +01:00
Gregoire Parant
3d32fb90dc Add constant 2020-11-23 20:34:05 +01:00
Gregoire Parant
2812387650 Merge branch 'develop' into action-button 2020-11-23 20:08:19 +01:00
Gregoire Parant
26cfae7136 Merge branch 'develop' into firefox-error-jitsi
# Conflicts:
#	front/src/WebRtc/MediaManager.ts
2020-11-23 15:46:19 +01:00
Gregoire Parant
39cdc3fbd9 Fix trgger stream and update scene record 2020-11-21 18:47:38 +01:00
Gregoire Parant
a6876658ab Merge branch 'develop' into windows-focus-blur-camera
# Conflicts:
#	front/src/WebRtc/MediaManager.ts
2020-11-21 15:57:55 +01:00
Gregoire Parant
3aaeda6f80 Merge branch 'develop' into action-button
# Conflicts:
#	front/dist/resources/style/style.css
#	front/src/Phaser/Game/GameScene.ts
2020-11-21 15:40:24 +01:00
psy
9e835620f1 center spawn position in the middle of a tile, instead of the upper left corner 2020-11-19 13:19:56 +01:00
Gregoire Parant
1bff2addf1 Merge branch 'develop' into firefox-error-jitsi
# Conflicts:
#	front/src/WebRtc/MediaManager.ts
2020-11-17 18:54:51 +01:00
Gregoire Parant
11def280cb Merge branch 'develop' into feature-discussion 2020-11-17 18:08:53 +01:00
Gregoire Parant
0a7063a478 Add close button 2020-11-17 18:03:44 +01:00
Kharhamel
eed292b707
Merge pull request #428 from thecodingmachine/master
Hotfixes from master
2020-11-17 15:26:11 +01:00
kharhamel
b6b76cbfaf FIX: creating an exit to the current map should not cause a crash anymore 2020-11-17 15:02:21 +01:00
Gregoire Parant
1570ef9663 Merge branch 'develop' into windows-focus-blur-camera
# Conflicts:
#	front/src/Phaser/Game/GameScene.ts
2020-11-16 15:46:52 +01:00
Gregoire Parant
b0bd4c5f40 Merge remote-tracking branch 'github.com/develop' into feature-discussion 2020-11-16 15:43:28 +01:00
Gregoire Parant
2d0fc1072f Fix feedback 2020-11-16 15:05:51 +01:00
Gregoire Parant
73fa0ecbfc Fix init position and trigger layers properties 2020-11-10 17:00:23 +01:00
Gregoire Parant
0acbe20bbf Fix name send in message 2020-11-10 13:00:14 +01:00
Gregoire Parant
3333b3cee3 Fix feedback moufmouf 2020-11-10 12:38:32 +01:00
David Négrier
00b83ae349 Merge branch 'develop' of github.com:thecodingmachine/workadventure into windows-focus-blur-camera 2020-11-06 17:36:43 +01:00
Gregoire Parant
a1d3b01619 Fix typo 2020-11-04 16:30:01 +01:00
Gregoire Parant
968787555f Update feedback @moufmouf 2020-11-04 13:33:58 +01:00
Gregoire Parant
6051e5f46a Fix when user have activated action button 2020-11-01 11:53:24 +01:00
Gregoire Parant
fcb7f364b6 Fix button action when user have activated 2020-11-01 11:49:09 +01:00
Gregoire Parant
74de2746c2 Create action button 2020-10-31 14:04:55 +01:00
Gregoire Parant
724bb7f288 Merge branch 'develop' into feature-discussion 2020-10-30 20:04:12 +01:00
Gregoire Parant
80355e6b85 fix layout mode click when discussion is activated 2020-10-27 20:46:53 +01:00
kharhamel
67aa2f4b6c opening and closing jitsi windows now trigger some transitions 2020-10-27 17:44:57 +01:00
Gregoire Parant
997acd17ad Update to use update function scene 2020-10-26 22:39:52 +01:00
kharhamel
3fdca94afb refactor: move jitsi creation to a dedicated and cleaned some type in mediaManager 2020-10-23 17:19:14 +02:00
Gregoire Parant
cfb6ad581e Fix red circle created 2020-10-21 23:08:05 +02:00
Gregoire Parant
e973921390 Fix admin tags
- Fix get size group
- Fix admin tags
- Fix texture already used
2020-10-21 17:22:17 +02:00
Gregoire Parant
1df4cb3e17 Red circle when have 4 users during webrtc meet 2020-10-21 16:07:42 +02:00
David Négrier
45c6e13cad Fixing loading of same custom texture several time
Phaser 3 does not trigger oncomplete event if the resource is already loaded.
2020-10-21 10:34:55 +02:00
David Négrier
c03dd4c551 Jitsi room names don't have / 2020-10-20 19:47:28 +02:00
David Négrier
78a4bf3189 Adding custom character textures 2020-10-20 17:42:36 +02:00
David Négrier
a3816cd725
Merge pull request #346 from thecodingmachine/customUserStore
improved the local storage of the the selectcharacterScene
2020-10-20 17:38:54 +02:00
arp
f5aa70ddc2 improved the local storage of the the selectcharacterScene 2020-10-20 13:44:57 +02:00
Gregoire Parant
bf9dfcc835 Ban mesage
- Create type message could be use to send private message at any user
- Create SendMessageUser message
- Add sound when user receive ban message
2020-10-19 19:32:47 +02:00
David Négrier
bf01116f63 Removing useless features of Jitsi meet 2020-10-19 12:36:05 +02:00
David Négrier
16d1c2354e Adding fallback to unauthenticated Jitsi 2020-10-19 11:07:49 +02:00
David Négrier
260b0ea408 Adding JWT authentication to Jitsi 2020-10-16 19:23:28 +02:00
David Négrier
c259dd582c Fixing change of map with relative URLs 2020-10-16 09:29:18 +02:00
David Négrier
c75f1edc40 Merge branch 'develop' of github.com:thecodingmachine/workadventure into player-report
# Conflicts:
#	back/src/Controller/AuthenticateController.ts
2020-10-15 18:01:44 +02:00
David Négrier
0ea7240834 Adding condition to enable reporting only on private rooms 2020-10-15 17:58:27 +02:00
David Négrier
36d73333f5 Adding exitUrl property
The exitUrl property can be applied on a layer to link to any kind of room (private or public)
2020-10-15 15:50:51 +02:00
David Négrier
517b3a644b Fixing URL not being rewritten when changing maps 2020-10-15 14:35:09 +02:00
Gregoire Parant
4799460064 Merge branch 'develop' into player-report
# Conflicts:
#	front/src/Connexion/RoomConnection.ts
2020-10-14 15:06:10 +02:00
David Négrier
98bda49d7e Get tags from the admin
And uses tag "admin" to choose whether to display the console or not
2020-10-14 11:07:34 +02:00
Gregoire Parant
047fa7b594 Merge branch 'player-report-fix-conflict' into player-report
# Conflicts:
#	back/src/Controller/IoSocketController.ts
2020-10-13 21:16:57 +02:00
Gregoire Parant
9c44d37020 Merge remote-tracking branch 'github.com/develop' into player-report
# Conflicts:
#	back/src/Controller/IoSocketController.ts
#	front/src/Phaser/Game/GameScene.ts
#	front/src/index.ts
#	messages/messages.proto
2020-10-13 21:14:46 +02:00
Gregoire Parant
05a1ea8469 Merge branch 'develop' into player-report
# Conflicts:
#	back/src/Controller/IoSocketController.ts
#	front/src/Phaser/Game/GameScene.ts
#	front/src/index.ts
#	messages/messages.proto
2020-10-13 20:39:29 +02:00
David Négrier
cb159350e9 Fixed room switching 2020-10-13 18:44:50 +02:00
David Négrier
ec93891c6b Using Room class to load GameScene 2020-10-13 17:10:07 +02:00
David Négrier
aee06da7f9 Refactoring Room.ts to fetch map url automatically from ID 2020-10-13 17:10:07 +02:00
arp
d98efc0433 lint fixes 2020-10-13 16:23:49 +02:00
Gregoire Parant
65406f844e Teleport notification
- Create end point to permit the teleport notification. The map url will be /teleport/token_user
- Create message teleport
- Create receive feature in phaser to teleport

TODO
Teleport player on black room.
2020-10-13 11:39:07 +02:00
David Négrier
0731bd39e5 Moving back to using ScenePlugin and adding EntryScene 2020-10-12 18:59:49 +02:00
David Négrier
2852f204f5 Improving error handling upon unknown URL 2020-10-12 17:42:37 +02:00
arp
02c193a262 rewrote the authorisation flow: give more responsability to gameManager and less to gameScene 2020-10-12 16:45:09 +02:00
Gregoire Parant
aeced0c648 create message to report 2020-10-12 11:22:41 +02:00
arp
032facb75f lint fixes 2020-10-09 17:21:46 +02:00
arp
f550c5a775 merge from develop 2020-10-09 17:10:24 +02:00
Gregoire Parant
07c17452e7 Merge branch 'develop' into player-report 2020-10-09 16:15:15 +02:00
arp
4af46b1b3f simplified mapUrl parsing 2020-10-08 18:51:24 +02:00
David Négrier
386b25afa0 Switching customizeScene and gameScene to new ResizableScene 2020-10-08 16:00:29 +02:00
Gregoire Parant
c63fb6ed6f Add image to report and to teleport player 2020-10-06 23:56:27 +02:00
David Négrier
f542b117a8 Refactoring connection to pass room info on connect 2020-10-06 18:11:42 +02:00
David Négrier
1061c80f1f Fixing connection closing 2020-10-01 17:16:49 +02:00
David Négrier
d3fa901691 Merge branch 'develop' of github.com:thecodingmachine/workadventure into feature/global-message
+ migrating to protobuf messages

# Conflicts:
#	back/src/App.ts
#	back/src/Controller/IoSocketController.ts
#	back/yarn.lock
#	front/src/Connection.ts
#	front/src/Phaser/Game/GameScene.ts
#	front/src/Phaser/Login/EnableCameraScene.ts
#	front/src/WebRtc/SimplePeer.ts
2020-10-01 14:11:34 +02:00
arp
3f9659ef3c improvments 2020-09-28 15:40:34 +02:00
arp
af4611ed29 rewrote the login workflow 2020-09-25 19:23:33 +02:00
David Négrier
d7209d8864 Migrating messages locally into back and front 2020-09-24 11:16:08 +02:00
Gregoire Parant
942d2cbcef Refactor and remove prevent default keyboard 2020-09-23 17:22:00 +02:00
David Négrier
76d3779438 Moved GroupUpdateMessage to protobuf 2020-09-21 11:24:03 +02:00
Gregoire Parant
e0ae79eaf1 Fini quill box 2020-09-21 00:34:25 +02:00
Gregoire Parant
45ad4bbb36 Send and play audio message 2020-09-20 17:12:27 +02:00
David Négrier
b148ca3708 Linting 2020-09-18 18:16:26 +02:00
David Négrier
df0636c513 Migrating user position messages to protobuf 2020-09-18 15:51:15 +02:00
David Négrier
e9ca8721a6 Migrating userId to "int32" to save some space and adding userMoves message in protobuf 2020-09-18 13:57:38 +02:00
Gregoire Parant
e59cbcfaa7 Create console global message
- Add style
- Create zone and button to show the admin console
2020-09-16 21:50:04 +02:00
Gregoire Parant
509196785b Initialise global message
- Create new class to manager global message. My idea is that this class permit to manage audio or text message.
 - Update html to have main content id and inject html in this.
 - Create front event to receive startMessage and stopMessage.
 - Delete impoted variable not used.
2020-09-16 18:38:50 +02:00
David Négrier
f5f9dcac04 Making groups part of zones 2020-09-16 16:06:43 +02:00
David Négrier
3a9196fb82 Merge 2020-09-16 11:41:03 +02:00
David Négrier
d24ec0bd75 Plugin PositionNotifier into the main application. 2020-09-15 16:21:41 +02:00
David Négrier
9b702c75e3 Adding batched messages + the notion of notifier / zones (not plugged in the system yet) 2020-09-15 10:06:11 +02:00
David Négrier
e418e8fd09 Setting the depth of the chat mode / presentation mode to 99999 to avoid melting buttons with map. 2020-09-10 09:31:53 +02:00
David Négrier
f70ba1411a Hiding cam details when entering a Jisti room 2020-09-01 14:43:21 +02:00
David Négrier
9351719873 Adding the notion of silent zone 2020-08-31 14:10:01 +02:00
David Négrier
df7b5cc2e3 Adding a "silent" notion (triggered in Jitsi meets) 2020-08-31 14:03:40 +02:00
David Négrier
0a8ba37049 Adding Jitsi meet support 2020-08-31 12:18:00 +02:00
David Négrier
a128ff117b code style 2020-08-30 17:40:04 +02:00
David Négrier
01319b50ca Adding a "openWebsite" property that opens websites when we walk over the zone. 2020-08-30 17:37:38 +02:00
David Négrier
168697eb46 Adding a GameMap class that helps tracking when the properties of the tiles the user is changes (when the user moves) 2020-08-30 15:44:22 +02:00
David Négrier
fca93663b4 Merge branch 'develop' of github.com:thecodingmachine/workadventure into outline 2020-08-24 18:15:44 +02:00
David Négrier
044495cf05 Centering character in free space
This commit adds the ability to put the character where there is free space when a discussion is hapening (either in presentation or chat mode)
2020-08-24 14:19:36 +02:00
David Négrier
2e61c2ef62 Getting back code in compilable fashion after huge rebase 2020-08-18 00:12:38 +02:00
David Négrier
6b970adc6c Merge branch 'develop' of github.com:thecodingmachine/workadventure into outline
# Conflicts:
#	front/src/Phaser/Game/GameScene.ts
#	front/src/Phaser/Player/Player.ts
#	front/src/index.ts
#	front/yarn.lock
2020-08-17 22:51:37 +02:00
David Négrier
6516e621b0 Adding display / hide of layout buttons when a meet start / ends 2020-08-17 16:12:53 +02:00
David Négrier
7fe2cc19c3 Adding buttons to switch mode 2020-08-17 15:20:03 +02:00
David Négrier
88c099fc13 Improving layout
Fixing left-right switch on all cameras (except current player camera)
2020-08-16 23:19:04 +02:00
David Négrier
24fb605f50 Switching to definitely assigned parameters
This allows us to go in "full strict mode" (yeah!)
See https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-7.html#strict-class-initialization
2020-08-07 23:39:06 +02:00
David Négrier
bc929615d1 Fixing problem when switching scenes with container 2020-07-29 11:42:18 +02:00
David Négrier
84529d6e99 Propagating customized sprites all over the game 2020-07-28 17:45:55 +02:00
David Négrier
6d0bccc0e1 Making a nice "customize" button 2020-07-28 15:53:44 +02:00
David Négrier
ee612f6585 Adding event support to items 2020-07-27 22:36:58 +02:00
David Négrier
d48d5b0285 Fix CS 2020-07-23 18:47:28 +02:00
David Négrier
ed146226cf Adding Outline capabilities and a ActionableItem notion. 2020-07-23 18:09:24 +02:00
David Négrier
6879418098 Adding a 404 page when resources loading fails 2020-07-07 22:52:22 +02:00
David Négrier
55767f2c78 Fixing image tileset key
If 2 maps share the same tileset name (even if they use 2 different URLs for the tileset), the tileset image will be reused wrongly.

This commit fixes the tileset key to make it equal to the image URL.
2020-07-07 18:22:10 +02:00
David Négrier
67e07c04f8 Fixing loading of tilesets with margin or padding 2020-07-05 17:10:08 +02:00
David Négrier
d78006e106 Fixing memory leak with listeners
The listeners from MediaManager and SimplePeer were never removed, leading to a huge amount of listeners all over the applications when switching regularly of scene.
2020-06-23 15:02:35 +02:00
David Négrier
a5514ce78a Code cleanup and removing exception in favor of console error 2020-06-22 18:42:54 +02:00
David Négrier
407c6db070 Fixing difference between MapKey and scene key (prevented proper caching of resources) 2020-06-22 17:18:24 +02:00
David Négrier
3f927280a6 Lint 2020-06-22 16:11:48 +02:00
David Négrier
9b174836cd Making sure connection is established again EVEN if the tab is not displayed 2020-06-22 16:11:02 +02:00
David Négrier
1e4ffa20ab Cleaning GameManager 2020-06-22 16:10:34 +02:00
David Négrier
f88f28db3f Refactoring reconnection: putting it into the GameScene directly. 2020-06-22 15:00:23 +02:00
David Négrier
d785a8a1bf Refactoring connection to be part of a GameScene
Most of the refactoring issues we are seeing are probably due to the fact that we are trying to manipulate a ScenePlugin out of a Scene (the GameManager is not a Scene and holds a reference to a ScenePlugin coming from a Scene that might get invalidated by Phaser 3).
Furthermore, if we want in the future to be able to scale, scenes could be hosted on different servers. Therefore, it makes no sense to have one connexion for the whole application.
Instead, we should have one connexion for each scene.
2020-06-22 11:58:07 +02:00
David Négrier
4496c49621 Fix linting 2020-06-19 18:51:58 +02:00
David Négrier
2b820c7d56 Adding an event queue in the GameScene.
Events are processed only in the 'update' method.
We hope this will solve a number of null pointer errors. See #194
2020-06-19 18:18:43 +02:00
David Négrier
e2be99490b Finishing removing any reference to "any" in the front. 2020-06-19 16:36:40 +02:00
David Négrier
39928b46f9 Removing any in the front 2020-06-19 14:30:34 +02:00
David Négrier
8348d13bfe Fixing use const instead of let 2020-06-19 14:30:34 +02:00
David Négrier
54f2518b5e Enabling stricter lint on front 2020-06-19 14:29:29 +02:00
David Négrier
817b25b0be Fixing reconnect issue
In the case the reconnect event was triggered on "wake-up", the disconnect event was not sent. But because of a bug in the way we handle the setTimeout, the reconnection to the GameScene never happened after we forced the disconnect scene.
This fixes the issue.
2020-06-17 16:06:02 +02:00
David Négrier
b1d39c4690 More logs 2020-06-11 14:13:13 +02:00
David Négrier
ea30a02762 Fixing reconnect issues 2020-06-11 14:12:03 +02:00
David Négrier
473c5aa052 Fixing events fired multiple times
Callbacks for socket.io events were registered each time a disconnect was called, leading to message being dispatched plenty of times if there was several disconnections.
2020-06-11 13:34:25 +02:00
David Négrier
e50a4fd88b Fixing setTimeout being called several times 2020-06-11 11:34:22 +02:00
David Négrier
f7265c213e Patch 2020-06-11 10:40:43 +02:00
David Négrier
43c7c9ad07 Fixing null initialization 2020-06-11 10:29:11 +02:00
David Négrier
ce7b4092a6 Fixing suspend/resume
In case we suspend a laptop and resume it, the RECONNECT event is called by socket.io without any error being thrown (so without us being redirected to the Reconnect Scene).
This fix makes sure we go to the reconnect scene before going back to the main scene.
2020-06-11 09:37:33 +02:00
David Négrier
80fddb3c69 Removing dead code 2020-06-10 16:01:01 +02:00
David Négrier
f518830073 Minor change to make sure the scene starts even if in background (does this really work?) 2020-06-10 16:00:54 +02:00
David Négrier
500dc83a85 Completely resetting GameScene on disconnect 2020-06-10 15:43:22 +02:00
David Négrier
43e4489d4d Fixing start position on disconnect 2020-06-10 14:57:32 +02:00
David Négrier
5042f2f82c Lint 2020-06-07 23:00:05 +02:00
David Négrier
c0809e28db Adding support for putting the hash in a map referenced in an exit scene. 2020-06-07 22:57:32 +02:00
David Négrier
db3ef81842 Adding the ability to add several entry points
We can now have several start layers and choose an entry point using a # in the URL
2020-06-07 13:23:32 +02:00
David Négrier
b82b13e351 Finalizing strict mode fixes 2020-06-04 18:56:59 +02:00
David Négrier
6f69a62d4d More strict fixes 2020-06-04 18:56:59 +02:00
David Négrier
082a11b0cd Allowing ill defined initializers (because of the way Phaser 3 is designed) 2020-06-04 18:56:59 +02:00
David Négrier
111bfcfe8c More strict typecheck fixes 2020-06-04 18:56:22 +02:00
David Négrier
82e2c0d985
Merge pull request #149 from thecodingmachine/multiple_start_positions_in_layer
Allowing several start positions in a given start layer
2020-06-03 11:20:57 +02:00
David Négrier
69d2fa6944 Allowing several start positions in a given start layer
If more than one tile was set in the "start" layer, the last tile would be selected.
Now, the tile is selected at random among available tiles.

Also, a message is issued if no tiles have been put on the "start" layer.
2020-06-03 11:14:04 +02:00
David Négrier
9ddf22d36b Removing GameScene from the list of known GameScene when leaving
This is important because when we come back to the GameScene later, some properties of the GameScene object might be initialized with the values of the previous GameScene.
Like the position if the user previously disconnected.

Closes #146
2020-06-03 10:45:25 +02:00
David Négrier
d72e60610e Adding PlayersPositionInterpolator to interpolate/extrapolate players positions 2020-06-02 13:44:42 +02:00
David Négrier
d69ce8a6a6 Adding PlayerMovement class to interpolate/extrapolate position along tests (installing Jasmine) 2020-06-02 10:48:04 +02:00
David Négrier
077b29bfbd Sending position only every 200ms while moving 2020-06-01 22:42:18 +02:00
David Négrier
21576946f0 Commenting out the notion of status in the GameManager
It seems to be useless
2020-05-25 22:37:07 +02:00
David Négrier
17e7f1b37a Removing dead code from previous messaging system
Remvoing messages that were no more used in the new messaging system (the code used to handle the message that sent the position of all users on the front side)
2020-05-25 22:36:44 +02:00
David Négrier
1fa39b0781 Fixing typos.
Replaced connexion with connection and LogincScene with LoginScene
2020-05-24 23:14:12 +02:00
David Négrier
cd586a9e0c Renaming /maps to /start-map
Closes #90
2020-05-24 22:53:10 +02:00
David Négrier
2448fef53a Adding a notion of instances per mapAdding a notion of instances to room
The URL signature becomes:

https://workadventu.re/_/[instance]/[path_to_map.json]

This allows us to create many instances of the same map (and therefore to create several different worlds for different people)

An exit on a map can target another "instance" by passing the "exitInstance" property.
2020-05-23 17:45:49 +02:00
David Négrier
080e08eeef
Merge pull request #122 from thecodingmachine/reconnecting_scene
Adding a special scene to wait for server reconnection
2020-05-23 17:12:36 +02:00
Gregoire Parant
f4ed2e52bf Fix CI 2020-05-23 16:50:17 +02:00
David Négrier
36858f8747 Adding a special scene to wait for server reconnection 2020-05-23 15:43:26 +02:00
Gregoire Parant
ab32021fc0 Fix mediam stream manage and server back down 2020-05-23 14:00:36 +02:00
David Négrier
ab798b1c09 Changing the "Point" notion to add a notion of "moving" in addition to the notion of direction.
Also, refactoring JOIN_ROOM event to add complete position.
2020-05-22 23:04:45 +02:00
David Négrier
f44a44c109 Removing logs 2020-05-20 12:30:17 +02:00
David Négrier
125a4d11af Refactored and optimized messages
Now, when a user moves, only his/her position is sent back to the other users. The position of all users is not sent each time.

The messages sent to the browser are now:

- the list of all users as a return to the join_room event (you can send responses to events in socket.io)
- a "join_room" event sent when a new user joins the room
- a "user_moved" event when a user moved
- a "user_left" event when a user left the room

The GameScene tracks all these events and reacts accordingly.

Also, I made a number of refactoring in the classes and removed the GameSceneInterface that was useless (it was implemented by the LogincScene for no reason at all)
2020-05-19 19:11:12 +02:00
David Négrier
4d1c3517ec When sharing user position, only position is sent now! 2020-05-15 23:47:00 +02:00
David Négrier
b80e3e07d8 Sending player details (name + character selected) on connection 2020-05-15 22:49:50 +02:00
David Négrier
4de552437d Completely getting rid of "userid"
Previously, userid was generated by the "/login" route and passed along.
This commit completely removes the uuid "userid" (and disables the LoginController too and any Jwt check).

"userid" is replaced by the "socket id" of the connection.
So a user is now identified using a socket id, which is unique for a given connection.
2020-05-14 23:20:43 +02:00
gparant
787e1c463c Media webrtcA
- Update peerConnexion manage
 - Add muted microphone logo
 - Add icon user
 - Sound when user enter in room webrtc
2020-05-14 20:39:30 +02:00
gparant
ec297e3912 Auto-reconnect 2020-05-13 20:22:42 +02:00
David Négrier
faadacddb6 Redirecting to the correct map after login screen based on URL provided 2020-05-13 00:06:58 +02:00
David Négrier
daa559738b Adding history support
Arriving on a new map now changes the URL.
All URLs starting with _ are automatically redirected to index.html by the web server
2020-05-12 22:38:44 +02:00
David Négrier
9417e4a4d2 Refactoring/centralizing map loading in GameManager 2020-05-12 22:38:44 +02:00
gparant
d3ff717f9e Minor Fix overflow css style 2020-05-12 00:22:55 +02:00
David Négrier
0daddb3669
Merge pull request #93 from thecodingmachine/fix-recette-grp
Fix recette GRP
2020-05-11 22:59:22 +02:00
David Négrier
98628957a4 Refactoring "exit" to allow multiple maps
Adding several layers named "exit" causes issues with Phaser 3.
This PR makes any possible layer being an exit layer (it only depends on the exitUrl property)

Also, fixing start position (it takes into account the layer width now)
2020-05-11 18:49:20 +02:00
gparant
e35c188854 Fix update world back end and deleting group in front end 2020-05-11 13:17:02 +02:00
gparant
141280e691 Fix url to get the next map in GameScene 2020-05-11 00:25:06 +02:00
gparant
58b65030bd Fix feedback @moufmouf strategy of maps managing by back. 2020-05-10 18:34:55 +02:00
gparant
68ac145882 Fix feedback @moufmouf on circle texture 2020-05-10 17:55:30 +02:00
gparant
029a7a9a64 Correct feedback @moufmouf 2020-05-10 14:49:49 +02:00
gparant
5f11b065e1 Permit to dissociate data by room
- Update share room id.
 - Join room when a scene is loaded.
 - Add a room in constant variable.
2020-05-10 13:58:32 +02:00
gparant
27c6034661 Manage multi scene
- Create position and check if user is in position to switch in the next scene.
 - When scene is load, we load all scene in the layer of name "exit".
 - Layer "exit" of map.json have a parametter "exitSceneKey" to identify next scene.
 - Add layer "start", the player could start in the scene on the object present in the layer of name "start".
2020-05-09 21:28:50 +02:00
gparant
fb8d9bf9a8 Multi Scene in back end
- Change maps url to get maps
 - Change GameScene to create scene with file since back end
 - Change LoginScene to upload scene and start game
2020-05-09 19:41:21 +02:00
gparant
4157a12f5d Update name map
- Change name in game scene and login scene
2020-05-09 16:47:55 +02:00
gparant
59127534ac Fix User depth
- Update strategy layers depth
 - Add depth to manager layers positions between all users
2020-05-08 17:35:40 +02:00
David Négrier
c59d693f6e
Merge pull request #83 from thecodingmachine/cleanup_rename_frame
Cleanup: renaming "frame" to "character"
2020-05-08 16:21:16 +02:00
David Négrier
e4824fe34d
Merge pull request #81 from thecodingmachine/display_groups
Adding the display of a circle around the group
2020-05-08 16:20:56 +02:00
David Négrier
b2a5cb1720 Refactoring display of circle around group
The circle is now a sprite and not generated on every frame using a giant "graphics" object
2020-05-08 16:09:50 +02:00
David Négrier
492196b333 Cleanup: renaming "frame" to "character"
The "frame" variable actually contains a string pointing to the character selected.
It has nothing to do with a frame which is usually a particular image in an animation.

I'm renaming the variable accross the application to avoid confusion.
2020-05-08 15:18:22 +02:00
gparant
8991b6f817 Add layer override 2020-05-08 13:18:34 +02:00
David Négrier
02e6b50b16 Adding the display of a circle around the group
This PR adds the display of a circle around groups. This is useful to view where you need to go to speak to someone but also to debug.

Note: implementation is suboptimal, relying on a "graphics" object that is known to be slow. In the future, we need to use a circle as a sprite instead.
2020-05-08 00:35:36 +02:00
gparant
3ec167ee44 Merge branch 'master' into feature/login-page
# Conflicts:
#	front/src/Phaser/Game/GameScene.ts
#	front/src/Phaser/Login/LogincScene.ts
2020-05-06 02:20:28 +02:00
gparant
5a6415607d Send event and play animation with user frame 2020-05-06 01:50:01 +02:00
David Négrier
ad3484285b Fixing Cypress tests 2020-05-04 18:38:04 +02:00
gparant
b65e37c468 Name of map users
- Add name on user
 - Delete NonPlayer class not used
2020-05-03 22:24:14 +02:00
David Négrier
b260dc32b5 Merge from master 2020-05-03 18:04:01 +02:00
gparant
fb255140e5 Add feature to mute or switch off cam 2020-05-03 17:19:42 +02:00
David Négrier
df5b183cba Merge 2020-05-03 15:51:16 +02:00
David Négrier
76b745ebea Putting the name in GameManager rather than passing it from scene to scene. 2020-05-03 15:29:40 +02:00
kharhamel
ad65de75fd used the vent system to remove the dependency of Player on Connexion 2020-05-02 16:56:36 +02:00
David Négrier
0c04d4305b Displaying the name of a player above its head (names are not passed through the network yet) 2020-05-01 23:38:09 +02:00
David Négrier
42ddd8b858 Changed font from text
Input name can only be 4 characters long
Passing name to next scene
2020-05-01 23:19:51 +02:00
kharhamel
62d2498e34 remove the GameSceneInterface from LoginScene 2020-04-30 19:18:35 +02:00
gparant
91851c95f3 Merge remote-tracking branch 'github.com/master' into webrtc
# Conflicts:
#	front/src/Connexion.ts
#	front/src/Phaser/Game/GameManager.ts
#	front/src/Phaser/Game/GameScene.ts
#	front/src/index.ts
2020-04-29 17:37:17 +02:00
gparant
2bfa57b0ba Merge world and webrtc conexion 2020-04-29 01:40:32 +02:00
gparant
4e556782af Fix integration login scene in game manager 2020-04-29 00:01:37 +02:00
gparant
8c935e8b27 Merge branch 'master' into webrtc
# Conflicts:
#	front/src/Phaser/Game/GameManager.ts
2020-04-28 20:50:51 +02:00
kharhamel
ee4a59578a first step in simplification: remove the concept of room in the front end 2020-04-27 15:03:05 +02:00
gparant
ecdbf4269a Merge branch 'master' into webrtc 2020-04-26 23:22:40 +02:00
gparant
3f975171c2 Fix import 2020-04-26 23:22:13 +02:00
gparant
b49c012319 Add button to enter un visio 2020-04-26 20:55:20 +02:00
gparant
707931724f Start visio with user colision
When user enter in colision with other colision, webrtc start visio
2020-04-26 19:59:51 +02:00
kharhamel
d691b58d0b basic login page with a text input and a click button 2020-04-26 17:54:56 +02:00
gparant
c28108f6c9 Use WebRtc with SimplePeer 2020-04-25 16:05:33 +02:00
David Négrier
33bcbd4650
Merge pull request #44 from thecodingmachine/map-v0
My first map representing TCM office grand floor without KEN office
2020-04-24 19:08:08 +02:00
gparant
5b62ac39fb Create webrtc connexion between two player 2020-04-19 19:32:38 +02:00
David Négrier
46fcb86b28 Computing movement amount from framerate
Depending on the amount of power a computer has, the framerate will not be the same.
Hence, the amount of movement of a user should be constant on each frame.
If a frame was slow to print, the movement should be higher to keep a constant speed.

This PR takes the framerate into account when moving the players.
2020-04-18 17:16:39 +02:00
David Négrier
db605d100e Merge 2020-04-16 22:44:31 +02:00
David Négrier
9175682f32 Backporting master changes 2020-04-15 23:57:36 +02:00
David Négrier
2037147d18 First working version of the office map! Yay! 2020-04-15 23:31:39 +02:00
David Négrier
8ddd4656e6 Adding automatic loading of layers 2020-04-15 23:10:12 +02:00
David Négrier
5f118c2a4a Removing all reference to 'Tiles' constant in code 2020-04-15 19:39:26 +02:00
David Négrier
1dd66b4998 Merging 2020-04-15 19:30:49 +02:00
David Négrier
482a344f45 Autoload tiles
This commit adds a listener in the preload function that will be triggered as soon as the map is loaded.
This function will load the resources from the map (tilesets) defined in the map.
That way, we don't have to define manually the list of tiles that have to be loaded (at the expense of a slight delay in loading since we must wait for the map to be loaded to start loading the tiles).
2020-04-15 19:23:06 +02:00
kharhamel
a2ed7164e4 implemented basic e2e testing 2020-04-14 20:04:55 +02:00
NIP
c42dbc3f95 Fix JS issue regarding multiple tilesets 2020-04-13 21:24:48 +02:00
NIP
84f0420694 Change GameScene to import new png, change map name and add missing png files 2020-04-13 20:34:19 +02:00
NIP
f00d10d56a Change calque names into game scene TS file 2020-04-13 20:05:13 +02:00
kharhamel
1774594e76 deleted cameraManager, use camera follow code instead 2020-04-13 19:57:14 +02:00
kharhamel
33c58874e0 create an env variable for debug mode 2020-04-13 19:40:10 +02:00
gparant
d6653c61cc Add comment talk when user have a collision & comment collision shwon 2020-04-13 16:56:06 +02:00
gparant
ab70b28bb3 Fix, current player say 2020-04-13 15:35:38 +02:00
gparant
2afe6b4b6e Fix feadback @Kharhamel 2020-04-13 15:34:09 +02:00
gparant
48fe86634f Add feature to move bubble 2020-04-13 15:15:20 +02:00
gparant
01dbff7aee Merge branch 'interaction' into kharhamel-interaction
# Conflicts:
#	front/src/Phaser/Game/CameraManager.ts
#	front/src/Phaser/Game/GameScene.ts
#	front/src/Phaser/Game/MapManager.ts
#	front/src/Phaser/Player/Player.ts
2020-04-13 13:42:21 +02:00
kharhamel
c51f5f4aa9 added som ebasic speech bubbles 2020-04-12 19:35:51 +02:00
kharhamel
05379c8001 the other playes now run away from the player on contact 2020-04-12 19:06:31 +02:00
kharhamel
97a55ab66c fixed the player animations 2020-04-12 18:28:05 +02:00
kharhamel
d1106d757d made the player pushable by other models 2020-04-12 17:13:33 +02:00
kharhamel
2b2b615e7b added other players models and fixed collision with other entities 2020-04-12 17:08:28 +02:00
kharhamel
6e27377b07 rewrote the app code to more easily allow for collisions 2020-04-12 16:12:08 +02:00
gparant
bbc3935d60 Fix feedback @kharhamel 2020-04-12 13:57:00 +02:00
kharhamel
241cbd720a added a rock 2020-04-11 18:17:36 +02:00
kharhamel
793e5318f7 created a class to centralize all user inputs catching and expose user events 2020-04-11 16:46:28 +02:00
gparant
d257b2b944 Multi players on the map
- Fix share user position
 - Fix initialise map
 - Create function to add user on the map with back end data
2020-04-10 12:54:05 +02:00
gparant
25895e51f7 Fix and refactor with comments of @moumoug 2020-04-07 22:38:53 +02:00
gparant
aba3322188 Fix CI 2020-04-07 20:46:30 +02:00
gparant
bac1e804ad Refactor to include connexion 2020-04-07 20:41:35 +02:00