61 lines
1.4 KiB
Markdown
61 lines
1.4 KiB
Markdown
|
# Back Features
|
||
|
|
||
|
## Login
|
||
|
To start your game, you must authenticate on the server back.
|
||
|
When you are authenticated, the back server return token and rooms started.
|
||
|
```
|
||
|
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)
|