feat: GameState to Title Mapping BAC-1 (#92)

Reviewed-on: #92
Co-authored-by: Janis <janis.e.20@gmx.de>
Co-committed-by: Janis <janis.e.20@gmx.de>
This commit is contained in:
2025-12-01 19:13:32 +01:00
committed by Janis
parent 0037820905
commit 6e17328846
4 changed files with 19 additions and 3 deletions

View File

@@ -1,5 +1,8 @@
package util
import de.knockoutwhist.control.GameState
import de.knockoutwhist.control.GameState.{FinishedMatch, InGame, Lobby, MainMenu, SelectTrump, TieBreak}
import scala.util.Random
object GameUtil {
@@ -25,5 +28,16 @@ object GameUtil {
code.toString()
}
def stateToTitle(gameState: GameState): String = {
gameState match {
case Lobby => "Lobby"
case MainMenu => "Main Menu"
case InGame => "In Game"
case SelectTrump => "Select Trump"
case TieBreak => "Tie Break"
case FinishedMatch => "Finished Match"
}
}
}

View File

@@ -4,6 +4,7 @@ import controllers.IngameController
import de.knockoutwhist.events.global.GameStateChangeEvent
import model.sessions.UserSession
import play.api.libs.json.{JsObject, Json}
import util.GameUtil
object GameStateEventMapper extends SimpleEventMapper[GameStateChangeEvent] {
@@ -11,7 +12,7 @@ object GameStateEventMapper extends SimpleEventMapper[GameStateChangeEvent] {
override def toJson(event: GameStateChangeEvent, session: UserSession): JsObject = {
Json.obj(
//Title
"title" -> ("Knockout Whist - " + GameUtil.stateToTitle(event.newState)),
"content" -> IngameController.returnInnerHTML(session.gameLobby, event.newState, session.user).toString
)
}