From a45d76e9a5d56ab570c70d0358cb376d253afea5 Mon Sep 17 00:00:00 2001 From: Eden Kirin Date: Sun, 26 Mar 2023 14:50:32 +0200 Subject: [PATCH] Update readme --- README.md | 53 ++++++++++++++++++++++++++++------------------------- 1 file changed, 28 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index 008d2f5..9ebe435 100644 --- a/README.md +++ b/README.md @@ -76,48 +76,51 @@ 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" - participant Client1 as "Visualisation\nClient 1" - participant Client2 as "Visualisation\nClient 2" +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 - activate WS #coral - WS -> Client1: Game state - deactivate +Client1 ->o WS: Client connect +activate WS #coral + WS -> Client1: Game state +deactivate - Client2 ->o WS: Client Connect - activate WS #coral - WS -> Client2: Game state - deactivate +Client2 ->o WS: Client connect +activate WS #coral + WS -> Client2: Game state +deactivate - loop #lightyellow On game state change +loop #lightyellow On game state change Game ->o WS: Game state activate WS #coral WS o-> Client1: Game state