Update readme

This commit is contained in:
Eden Kirin
2023-03-26 14:50:32 +02:00
parent 4831f1e393
commit a45d76e9a5

View File

@ -76,43 +76,46 @@ actor "Player 2" as P2
actor "Player 3" as P3
package Masterpiece {
rectangle {
usecase Game as "FairHopper\nGame Server"
package Masterpiece #seashell {
rectangle "FairHopper Game Server" #lightcyan {
usecase API as "API Server"
usecase Game as "Game Engine"
usecase WS as "WS Server"
}
usecase Vis as "Visualisation\nService"
}
P1 -left-> Game: REST API
P2 -left-> Game: REST API
P3 -left-> Game: REST API
usecase ExtVis1 as "Visualisation\nService"
usecase ExtVis2 as "Visualisation\nService"
P1 -left-> API: REST API
P2 -left-> API: REST API
P3 -left-> API: REST API
API --> Game
Game --> WS: Game State
WS --> Vis: WebSockets
WS --> ExtVis1: WebSockets
WS --> ExtVis2: WebSockets
```
### WebSockets
```plantuml
participant Game as "FairHopper\nGame Server"
box "FairHopper Game Server" #lightcyan
participant Game as "Game Engine"
participant WS as "WS Server"
endbox
participant Client1 as "Visualisation\nClient 1"
participant Client2 as "Visualisation\nClient 2"
Game ->o WS: Server Connect
activate WS #coral
WS -> Game: Get game state
activate Game #yellow
Game -> WS: Game state
deactivate
deactivate
Game ->o WS: Send initial state
Client1 ->o WS: Client Connect
Client1 ->o WS: Client connect
activate WS #coral
WS -> Client1: Game state
deactivate
Client2 ->o WS: Client Connect
Client2 ->o WS: Client connect
activate WS #coral
WS -> Client2: Game state
deactivate