2020-04-04 22:43:07 +02:00
|
|
|
# Back Features
|
|
|
|
|
|
|
|
## Login
|
|
|
|
To start your game, you must authenticate on the server back.
|
2020-04-04 23:29:36 +02:00
|
|
|
When you are authenticated, the back server return token and room starting.
|
2020-04-04 22:43:07 +02:00
|
|
|
```
|
|
|
|
POST => /login
|
|
|
|
Params :
|
|
|
|
email: email of user.
|
|
|
|
```
|
|
|
|
|
|
|
|
## Join a room
|
|
|
|
When a user is connected, the user can join a room.
|
|
|
|
So you must send emit `join-room` with information user:
|
|
|
|
```
|
|
|
|
Socket.io => 'join-room'
|
|
|
|
|
|
|
|
userId: user id of gamer
|
|
|
|
roomId: room id when user enter in game
|
|
|
|
position: {
|
|
|
|
x: position x on map
|
|
|
|
y: position y on map
|
|
|
|
}
|
|
|
|
```
|
|
|
|
All data users are stocked on socket client.
|
|
|
|
|
|
|
|
## Send position user
|
|
|
|
When user move on the map, you can share new position on back with event `user-position`.
|
|
|
|
The information sent:
|
|
|
|
```
|
|
|
|
Socket.io => 'user-position'
|
|
|
|
|
|
|
|
userId: user id of gamer
|
|
|
|
roomId: room id when user enter in game
|
|
|
|
position: {
|
|
|
|
x: position x on map
|
|
|
|
y: position y on map
|
|
|
|
}
|
|
|
|
```
|
|
|
|
All data users are updated on socket client.
|
|
|
|
|
|
|
|
## Receive positions of all users
|
|
|
|
The application sends position of all users in each room in every few 10 milliseconds.
|
|
|
|
The data will pushed on event `user-position`:
|
|
|
|
```
|
|
|
|
Socket.io => 'user-position'
|
|
|
|
|
|
|
|
[
|
|
|
|
{
|
|
|
|
userId: user id of gamer
|
|
|
|
roomId: room id when user enter in game
|
|
|
|
position: {
|
|
|
|
x: position x on map
|
|
|
|
y: position y on map
|
|
|
|
}
|
|
|
|
},
|
|
|
|
...
|
|
|
|
]
|
|
|
|
```
|
|
|
|
|
|
|
|
[<<< back](../README.md)
|