Add alternative Draft

This commit is contained in:
Anibus
2020-11-29 04:56:32 +03:00
parent 460e95c824
commit 23f566af51
5 changed files with 101 additions and 9 deletions
+24 -2
View File
@@ -31,7 +31,17 @@ class UserActor(out: ActorRef,
implicit val userInfoWrites: OWrites[UserInfo] = Json.writes[UserInfo]
implicit val lobbyWrites: OWrites[LobbyInfo] = Json.writes[LobbyInfo]
implicit val lobbyWrites: Writes[LobbyInfo] = new Writes[LobbyInfo]{
override def writes(lobby: LobbyInfo) = Json.obj(
"user1Info" -> lobby.user1Info,
"user2Info" -> lobby.user2Info,
"lobbyActorName" -> lobby.lobbyActorName,
"status" -> lobby.status,
"playerTurn" -> lobby.playerTurn,
"selectedType" -> lobby.selectedType,
"maps" -> Json.toJson(lobby.maps)
)
}
implicit val messageWrites: OWrites[Message] = Json.writes[Message]
@@ -40,7 +50,15 @@ class UserActor(out: ActorRef,
implicit val lobbyResponseWrites: Writes[List[LobbyInfo]] = new Writes[List[LobbyInfo]] {
override def writes(o: List[LobbyInfo]): JsValue = {
JsArray(o.map(lobby => Json.toJson(lobby)))
JsArray(o.map(lobby => Json.obj(
"user1Info" -> lobby.user1Info,
"user2Info" -> lobby.user2Info,
"lobbyActorName" -> lobby.lobbyActorName,
"status" -> lobby.status,
"playerTurn" -> lobby.playerTurn,
"selectedType" -> lobby.selectedType,
"maps" -> Json.toJson(lobby.maps)
)))
}
}
@@ -135,6 +153,10 @@ class UserActor(out: ActorRef,
val message = (json \ "message").as[String]
lobbieActor.foreach(lobby => lobby ! MessageForLobby(message))
case Some("changeLobbyType") =>
val lobbyType = (json \ "lobbyType").as[String]
lobbieActor.foreach(lobby => lobby ! ChangeLobbyType(lobbyType))
case Some("kickSecondPlayer") =>
lobbieActor.foreach(lobby => lobby ! KickSecondPlayer)