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:
Submodule knockoutwhist updated: d833932f16...ef7397f7f1
@@ -12,6 +12,7 @@ import play.api.*
|
||||
import play.api.libs.json.{JsValue, Json}
|
||||
import play.api.mvc.*
|
||||
import play.twirl.api.Html
|
||||
import util.GameUtil
|
||||
|
||||
import java.util.UUID
|
||||
import javax.inject.*
|
||||
@@ -33,7 +34,7 @@ class IngameController @Inject()(
|
||||
IngameController.returnInnerHTML(g, g.logic.getCurrentState, request.user)
|
||||
}
|
||||
if (results.isSuccess) {
|
||||
Ok(views.html.main("In-Game - Knockout Whist")(results.get))
|
||||
Ok(views.html.main("Knockout Whist - " + GameUtil.stateToTitle(g.logic.getCurrentState))(results.get))
|
||||
} else {
|
||||
InternalServerError(results.failed.get.getMessage)
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user