feat(ui): Tie selection #111

Merged
lq64 merged 2 commits from feat/BAC-8 into main 2026-01-13 14:33:26 +01:00
3 changed files with 15 additions and 1 deletions
Showing only changes of commit ee7555ad97 - Show all commits

View File

@@ -27,6 +27,7 @@ class UserSession(val user: User, val host: Boolean, val gameLobby: GameLobby) e
case _ => case _ =>
} }
websocketActor.foreach(_.solveRequests()) websocketActor.foreach(_.solveRequests())
println("EVENT which will get transmitted to client:" + event.id)
websocketActor.foreach(_.transmitEventToClient(event)) websocketActor.foreach(_.transmitEventToClient(event))
} }
@@ -73,6 +74,15 @@ class UserSession(val user: User, val host: Boolean, val gameLobby: GameLobby) e
case None => case None =>
println("Card Index not found or is not a number.") 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" => case "KickPlayer" =>
val maybePlayerId: Option[String] = (data \ "playerId").asOpt[String] val maybePlayerId: Option[String] = (data \ "playerId").asOpt[String]
maybePlayerId match { maybePlayerId match {

View File

@@ -111,6 +111,7 @@ class UserWebsocketActor(
} }
def transmitEventToClient(event: SimpleEvent): Unit = { def transmitEventToClient(event: SimpleEvent): Unit = {
println("This event is getting transmitted to client (INSIDE transmitEventToClient")
transmitJsonToClient(WebsocketEventMapper.toJson(event, session)) transmitJsonToClient(WebsocketEventMapper.toJson(event, session))
} }

View File

@@ -36,7 +36,7 @@ object WebsocketEventMapper {
// Register all custom mappers here // Register all custom mappers here
registerCustomMapper(ReceivedHandEventMapper) registerCustomMapper(ReceivedHandEventMapper)
registerCustomMapper(GameStateEventMapper) //registerCustomMapper(GameStateEventMapper)
registerCustomMapper(CardPlayedEventMapper) registerCustomMapper(CardPlayedEventMapper)
registerCustomMapper(NewRoundEventMapper) registerCustomMapper(NewRoundEventMapper)
registerCustomMapper(NewTrickEventMapper) registerCustomMapper(NewTrickEventMapper)
@@ -50,10 +50,13 @@ object WebsocketEventMapper {
def toJson(obj: SimpleEvent, session: UserSession): JsValue = { def toJson(obj: SimpleEvent, session: UserSession): JsValue = {
val data: Option[JsValue] = if (specialMappers.contains(obj.id)) { val data: Option[JsValue] = if (specialMappers.contains(obj.id)) {
println("TEST1")
Some(specialMappers(obj.id).toJson(obj, session)) Some(specialMappers(obj.id).toJson(obj, session))
}else { }else {
println("TEST2")
None 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( Json.obj(
"id" -> ("request-" + java.util.UUID.randomUUID().toString), "id" -> ("request-" + java.util.UUID.randomUUID().toString),
"event" -> obj.id, "event" -> obj.id,