Compare commits

..

2 Commits

Author SHA1 Message Date
TeamCity
a163d9f8fe ci: bump version to v4.28.0 2026-01-13 13:37:03 +00:00
dc3da9a75c feat(ui): Tie selection (#111)
Added ability to pick a tie card in the backend

Co-authored-by: LQ63 <lkhermann@web.de>
Reviewed-on: #111
2026-01-13 14:33:25 +01:00
4 changed files with 17 additions and 2 deletions

View File

@@ -327,3 +327,8 @@
* Implement PlayDogCard functionality in user session and update Vue component ([859dfce](https://git.janis-eccarius.de/KnockOutWhist/KnockOutWhist-Web/commit/859dfce521b193b9208d0c70fca88016f8fe08f4)) * Implement PlayDogCard functionality in user session and update Vue component ([859dfce](https://git.janis-eccarius.de/KnockOutWhist/KnockOutWhist-Web/commit/859dfce521b193b9208d0c70fca88016f8fe08f4))
* Implement PlayDogCard functionality in user session and update Vue component ([61ae9b5](https://git.janis-eccarius.de/KnockOutWhist/KnockOutWhist-Web/commit/61ae9b5a5e7cd9fd82b77e9159814b0066874c2d)) * Implement PlayDogCard functionality in user session and update Vue component ([61ae9b5](https://git.janis-eccarius.de/KnockOutWhist/KnockOutWhist-Web/commit/61ae9b5a5e7cd9fd82b77e9159814b0066874c2d))
## (2026-01-13)
### Features
* **ui:** Tie selection ([#111](https://git.janis-eccarius.de/KnockOutWhist/KnockOutWhist-Web/issues/111)) ([dc3da9a](https://git.janis-eccarius.de/KnockOutWhist/KnockOutWhist-Web/commit/dc3da9a75c75597ce81ce4d023af5390197012c9))

View File

@@ -73,6 +73,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

@@ -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)
@@ -54,6 +54,7 @@ object WebsocketEventMapper {
}else { }else {
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,

View File

@@ -1,3 +1,3 @@
MAJOR=4 MAJOR=4
MINOR=27 MINOR=28
PATCH=0 PATCH=0