feat(ui): Websocket
Started implementing functionality to Websocket.
This commit is contained in:
@@ -27,6 +27,10 @@ object WebsocketEventMapper {
|
||||
registerCustomMapper(ReceivedHandEventMapper)
|
||||
registerCustomMapper(GameStateEventMapper)
|
||||
registerCustomMapper(CardPlayedEventMapper)
|
||||
registerCustomMapper(NewRoundEventMapper)
|
||||
registerCustomMapper(NewTrickEventMapper)
|
||||
registerCustomMapper(TrickEndEventMapper)
|
||||
registerCustomMapper(RequestCardEventMapper)
|
||||
registerCustomMapper(LobbyUpdateEventMapper)
|
||||
registerCustomMapper(LeftEventMapper)
|
||||
registerCustomMapper(KickEventMapper)
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
package util.mapper
|
||||
|
||||
import de.knockoutwhist.events.global.GameStateChangeEvent
|
||||
import logic.game.GameLobby
|
||||
import play.api.libs.json.{JsObject, Json}
|
||||
|
||||
object GameStateChangeEventMapper extends SimpleEventMapper[GameStateChangeEvent]{
|
||||
override def id: String = "GameStateChangeEvent"
|
||||
|
||||
override def toJson(event: GameStateChangeEvent, gameLobby: GameLobby): JsObject = {
|
||||
println("CALLED toJSON FOR GAMESTATECHANGE")
|
||||
Json.obj(
|
||||
"oldState" -> event.oldState.toString,
|
||||
"newState" -> event.newState.toString,
|
||||
"gameLobby" -> gameLobby.id
|
||||
)
|
||||
}
|
||||
}
|
||||
16
knockoutwhistweb/app/util/mapper/NewRoundEventMapper.scala
Normal file
16
knockoutwhistweb/app/util/mapper/NewRoundEventMapper.scala
Normal file
@@ -0,0 +1,16 @@
|
||||
package util.mapper
|
||||
|
||||
import de.knockoutwhist.events.global.NewRoundEvent
|
||||
import logic.game.GameLobby
|
||||
import play.api.libs.json.{JsObject, Json}
|
||||
|
||||
object NewRoundEventMapper extends SimpleEventMapper[NewRoundEvent]{
|
||||
override def id: String = "NewRoundEvent"
|
||||
|
||||
override def toJson(event: NewRoundEvent, gameLobby: GameLobby): JsObject = {
|
||||
Json.obj(
|
||||
"trumpsuit" -> gameLobby.getLogic.getCurrentRound.get.trumpSuit.toString,
|
||||
"players" -> gameLobby.getLogic.getCurrentMatch.get.playersIn.map(player => player.toString)
|
||||
)
|
||||
}
|
||||
}
|
||||
13
knockoutwhistweb/app/util/mapper/NewTrickEventMapper.scala
Normal file
13
knockoutwhistweb/app/util/mapper/NewTrickEventMapper.scala
Normal file
@@ -0,0 +1,13 @@
|
||||
package util.mapper
|
||||
|
||||
import de.knockoutwhist.events.global.NewTrickEvent
|
||||
import logic.game.GameLobby
|
||||
import play.api.libs.json.{JsObject, Json}
|
||||
|
||||
object NewTrickEventMapper extends SimpleEventMapper[NewTrickEvent]{
|
||||
override def id: String = "NewTrickEvent"
|
||||
|
||||
override def toJson(event: NewTrickEvent, gameLobby: GameLobby): JsObject = {
|
||||
Json.obj()
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package util.mapper
|
||||
|
||||
import de.knockoutwhist.events.player.RequestCardEvent
|
||||
import logic.game.GameLobby
|
||||
import play.api.libs.json.{JsObject, Json}
|
||||
|
||||
object RequestCardEventMapper extends SimpleEventMapper[RequestCardEvent]{
|
||||
override def id: String = "RequestCardEvent"
|
||||
|
||||
override def toJson(event: RequestCardEvent, gameLobby: GameLobby): JsObject = {
|
||||
Json.obj(
|
||||
"player" -> event.player.name
|
||||
)
|
||||
}
|
||||
}
|
||||
18
knockoutwhistweb/app/util/mapper/TrickEndEventMapper.scala
Normal file
18
knockoutwhistweb/app/util/mapper/TrickEndEventMapper.scala
Normal file
@@ -0,0 +1,18 @@
|
||||
package util.mapper
|
||||
|
||||
import de.knockoutwhist.events.global.TrickEndEvent
|
||||
import de.knockoutwhist.rounds.Trick
|
||||
import logic.game.GameLobby
|
||||
import play.api.libs.json.{JsObject, Json}
|
||||
|
||||
object TrickEndEventMapper extends SimpleEventMapper[TrickEndEvent]{
|
||||
override def id: String = "TrickEndEvent"
|
||||
|
||||
override def toJson(event: TrickEndEvent, gameLobby: GameLobby): JsObject = {
|
||||
Json.obj(
|
||||
"playerwon" -> event.winner.name,
|
||||
"playersin" -> gameLobby.getLogic.getCurrentMatch.get.playersIn.map(player => player.name),
|
||||
"tricklist" -> gameLobby.getLogic.getCurrentRound.get.tricklist.map(trick => trick.winner.map(player => player.name).getOrElse("Trick in Progress"))
|
||||
)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user