David Négrier
e934015d87
Refactoring searchClientById
...
searchClientById was scanning through all open sockets to find the right one (which is inefficient if we have many).
Instead, I created a new Map that directly maps ids to sockets.
Furthermore, this solves a long-standing issue (when a socket is disconnected, we cannot find it anymore in the sockets list but it is still available in the disconnect callback from the map)
As a result, we should not have any remaining circles any more.
2020-05-18 18:33:04 +02:00
David Négrier
1bbd0866cb
Code cleaning
2020-05-16 16:07:57 +02:00
David Négrier
b20357c1ee
Removing the Message class and merging it with MessageUserPosition (since it is only ever used it in MessageUserPosition)
...
Taking advantage of the TypeScript Constructor Assignment too to reduce the amount of code!
2020-05-16 15:44:45 +02:00
David Négrier
3b6ace03fa
Getting rid of roomId in Message class (this is not needed since all messages sent are for the room we are currently in)
2020-05-16 00:19:27 +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
cdfa9acf01
JoinRoom now ONLY sends the roomId.
2020-05-15 23:24:04 +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
5a3668a12e
Refactoring messages
...
Socket.io can stringify JSON messages itself, so there is no need to pass a string to "emit". You can pass a serializable object!
This commit removes all the useless toJson() methods, JSON.serialize and JSON.parse!
Woot!
2020-05-15 22:04:49 +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
David Négrier
76b43245c5
Merge pull request #113 from thecodingmachine/display_circle_on_startup
...
Displaying circle on join
2020-05-14 22:02:41 +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
David Négrier
4cca1c1e58
Displaying circle on join
...
So far, someone joining a map would not see the circles of groups already formed until someone moves in the group (because the "circle_moved_or_updated" event was not fired when someone arrives)
This commit fixes this behaviour. Someone entering a room will receive an event for each and every group currently formed.
2020-05-13 23:11:10 +02:00
gparant
ec297e3912
Auto-reconnect
2020-05-13 20:22:42 +02:00
David Négrier
59ee78275e
Removing limitation to allow up to 4 players in a group
2020-05-13 09:39:48 +02:00
David Négrier
256fa51e24
Catching errors in socket callbacks
...
Catching errors in socket callbacks to avoid having the server crashing when an error occurs.
2020-05-12 11:49:55 +02:00
gparant
e35c188854
Fix update world back end and deleting group in front end
2020-05-11 13:17:02 +02:00
gparant
f4af824cf9
Fix error mapping refresh in back & the end of this feature development
2020-05-10 23:49:08 +02:00
gparant
8b9c36e3be
Refactor leave and join room
2020-05-10 19:54:41 +02:00
gparant
8a91190d8c
Change to update world by scene and room id
2020-05-10 19:45:17 +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
6dc309db34
Fix manage webrtc room id
2020-05-08 21:17:52 +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
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
802d710006
Fix lint tsc
2020-05-08 11:58:09 +02:00
gparant
41f5b5a1f6
Fix shares information to enter into Webrtc room.
...
- Refactor share position in world class.
- Update selects a client to send information about connecting WebRtc room.
2020-05-08 11:54:47 +02:00
gparant
16cf33755c
Fix webrtc back
...
- Add refuse to join if webrtc room have 4 players.
2020-05-08 11:16:49 +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
5a6415607d
Send event and play animation with user frame
2020-05-06 01:50:01 +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
9c32c930a0
Merge
2020-05-03 17:47:54 +02:00
David Négrier
3b27f8b000
Making the group radius distinct from the minimum distance to connect 2 players
...
Also, changed default settings from 160px for Group Radius to 120px
(minimum distance to connect 2 players remains 160px)
2020-05-03 16:57:17 +02:00
gparant
c48073b908
Fix update callback
2020-05-03 16:30:22 +02:00
gparant
372f938bbb
Connect and Disconnect event.
2020-05-03 16:28:18 +02:00
gparant
fdb40ec3e2
Fix webrtc multi
2020-05-02 20:46:02 +02:00
gparant
c7f8f92e85
Fix webrtc
2020-05-02 00:31:44 +02:00
gparant
e06b20fe96
Update video style and start peer connexion
2020-05-01 21:15:00 +02:00
gparant
2bfa57b0ba
Merge world and webrtc conexion
2020-04-29 01:40:32 +02:00
gparant
881bb04eb0
Implement Distance Merge Request
2020-04-27 00:44:25 +02:00
gparant
c907048c12
Merge branch 'feature/back-players-proximity' into webrtc
2020-04-26 23:34:35 +02:00
gparant
9730df2295
Merge branch 'master' into feature/back-players-proximity
...
# Conflicts:
# back/src/Model/Websocket/MessageUserPosition.ts
2020-04-26 23:31:40 +02:00
gparant
d396ad2f41
Fix CI CD
2020-04-26 22:35:16 +02:00
gparant
d7d7be9ed0
Web visio, add and remove video element
2020-04-26 19:12:01 +02:00
gparant
89db8558f6
Add multi SimplePear connection
2020-04-25 17:14:05 +02:00
gparant
c28108f6c9
Use WebRtc with SimplePeer
2020-04-25 16:05:33 +02:00
gparant
a5b5072de1
Fix webrtc
2020-04-20 01:10:47 +02:00
gparant
5b62ac39fb
Create webrtc connexion between two player
2020-04-19 19:32:38 +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
77780bd27b
Change comment with new message strategy
2020-04-07 21:03:33 +02:00
David MAECHLER
fbfc208129
BIG WIP of refactoring my work in TS
2020-04-07 10:08:04 +02:00