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.libs.json.{JsValue, Json}
|
||||||
import play.api.mvc.*
|
import play.api.mvc.*
|
||||||
import play.twirl.api.Html
|
import play.twirl.api.Html
|
||||||
|
import util.GameUtil
|
||||||
|
|
||||||
import java.util.UUID
|
import java.util.UUID
|
||||||
import javax.inject.*
|
import javax.inject.*
|
||||||
@@ -33,7 +34,7 @@ class IngameController @Inject()(
|
|||||||
IngameController.returnInnerHTML(g, g.logic.getCurrentState, request.user)
|
IngameController.returnInnerHTML(g, g.logic.getCurrentState, request.user)
|
||||||
}
|
}
|
||||||
if (results.isSuccess) {
|
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 {
|
} else {
|
||||||
InternalServerError(results.failed.get.getMessage)
|
InternalServerError(results.failed.get.getMessage)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
package util
|
package util
|
||||||
|
|
||||||
|
import de.knockoutwhist.control.GameState
|
||||||
|
import de.knockoutwhist.control.GameState.{FinishedMatch, InGame, Lobby, MainMenu, SelectTrump, TieBreak}
|
||||||
|
|
||||||
import scala.util.Random
|
import scala.util.Random
|
||||||
|
|
||||||
object GameUtil {
|
object GameUtil {
|
||||||
@@ -25,5 +28,16 @@ object GameUtil {
|
|||||||
|
|
||||||
code.toString()
|
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 de.knockoutwhist.events.global.GameStateChangeEvent
|
||||||
import model.sessions.UserSession
|
import model.sessions.UserSession
|
||||||
import play.api.libs.json.{JsObject, Json}
|
import play.api.libs.json.{JsObject, Json}
|
||||||
|
import util.GameUtil
|
||||||
|
|
||||||
object GameStateEventMapper extends SimpleEventMapper[GameStateChangeEvent] {
|
object GameStateEventMapper extends SimpleEventMapper[GameStateChangeEvent] {
|
||||||
|
|
||||||
@@ -11,7 +12,7 @@ object GameStateEventMapper extends SimpleEventMapper[GameStateChangeEvent] {
|
|||||||
|
|
||||||
override def toJson(event: GameStateChangeEvent, session: UserSession): JsObject = {
|
override def toJson(event: GameStateChangeEvent, session: UserSession): JsObject = {
|
||||||
Json.obj(
|
Json.obj(
|
||||||
//Title
|
"title" -> ("Knockout Whist - " + GameUtil.stateToTitle(event.newState)),
|
||||||
"content" -> IngameController.returnInnerHTML(session.gameLobby, event.newState, session.user).toString
|
"content" -> IngameController.returnInnerHTML(session.gameLobby, event.newState, session.user).toString
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user