feat(api): Enhance event mappers to include GameLobby in JSON serialization
This commit is contained in:
@@ -1,13 +1,14 @@
|
||||
package util.mapper
|
||||
|
||||
import de.knockoutwhist.events.player.ReceivedHandEvent
|
||||
import logic.game.GameLobby
|
||||
import play.api.libs.json.{JsArray, JsObject, Json}
|
||||
import util.WebUIUtils
|
||||
|
||||
object ReceivedHandEventMapper extends SimpleEventMapper[ReceivedHandEvent] {
|
||||
|
||||
override def id: String = "ReceivedHandEvent"
|
||||
override def toJson(event: ReceivedHandEvent): JsObject = {
|
||||
override def toJson(event: ReceivedHandEvent, gameLobby: GameLobby): JsObject = {
|
||||
Json.obj(
|
||||
"dog" -> event.player.isInDogLife,
|
||||
"hand" -> event.player.currentHand().map(hand => WebUIUtils.handToJson(hand))
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
package util.mapper
|
||||
|
||||
import de.knockoutwhist.utils.events.SimpleEvent
|
||||
import logic.game.GameLobby
|
||||
import play.api.libs.json.JsObject
|
||||
|
||||
trait SimpleEventMapper[T <: SimpleEvent] {
|
||||
|
||||
def id: String
|
||||
def toJson(event: T): JsObject
|
||||
def toJson(event: T, gameLobby: GameLobby): JsObject
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user