feat(ui): Tie selection #111
@@ -27,6 +27,7 @@ class UserSession(val user: User, val host: Boolean, val gameLobby: GameLobby) e
|
||||
case _ =>
|
||||
}
|
||||
websocketActor.foreach(_.solveRequests())
|
||||
println("EVENT which will get transmitted to client:" + event.id)
|
||||
websocketActor.foreach(_.transmitEventToClient(event))
|
||||
}
|
||||
|
||||
@@ -73,6 +74,15 @@ class UserSession(val user: User, val host: Boolean, val gameLobby: GameLobby) e
|
||||
case None =>
|
||||
println("Card Index not found or is not a number.")
|
||||
}
|
||||
case "PickTie" =>
|
||||
val maybeCardIndex: Option[Int] = (data \ "cardIndex").asOpt[Int]
|
||||
maybeCardIndex match {
|
||||
case Some(index) =>
|
||||
val session = gameLobby.getUserSession(user.id)
|
||||
gameLobby.selectTie(session, index)
|
||||
case None =>
|
||||
println("Card Index not found or is not a number.")
|
||||
}
|
||||
case "KickPlayer" =>
|
||||
val maybePlayerId: Option[String] = (data \ "playerId").asOpt[String]
|
||||
maybePlayerId match {
|
||||
|
||||
@@ -111,6 +111,7 @@ class UserWebsocketActor(
|
||||
}
|
||||
|
||||
def transmitEventToClient(event: SimpleEvent): Unit = {
|
||||
println("This event is getting transmitted to client (INSIDE transmitEventToClient")
|
||||
transmitJsonToClient(WebsocketEventMapper.toJson(event, session))
|
||||
}
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ object WebsocketEventMapper {
|
||||
|
||||
// Register all custom mappers here
|
||||
registerCustomMapper(ReceivedHandEventMapper)
|
||||
registerCustomMapper(GameStateEventMapper)
|
||||
//registerCustomMapper(GameStateEventMapper)
|
||||
registerCustomMapper(CardPlayedEventMapper)
|
||||
registerCustomMapper(NewRoundEventMapper)
|
||||
registerCustomMapper(NewTrickEventMapper)
|
||||
@@ -50,10 +50,13 @@ object WebsocketEventMapper {
|
||||
|
||||
def toJson(obj: SimpleEvent, session: UserSession): JsValue = {
|
||||
val data: Option[JsValue] = if (specialMappers.contains(obj.id)) {
|
||||
println("TEST1")
|
||||
Some(specialMappers(obj.id).toJson(obj, session))
|
||||
}else {
|
||||
println("TEST2")
|
||||
None
|
||||
}
|
||||
println(s"This is getting sent to client: EVENT: ${obj.id}, STATE: ${session.gameLobby.getLogic.getCurrentState.toString}, STATEDATA: ${stateToJson(session)}, DATA: ${data}")
|
||||
Json.obj(
|
||||
"id" -> ("request-" + java.util.UUID.randomUUID().toString),
|
||||
"event" -> obj.id,
|
||||
|
||||
Reference in New Issue
Block a user