diff --git a/knockoutwhistweb/app/model/sessions/UserSession.scala b/knockoutwhistweb/app/model/sessions/UserSession.scala index 5379cb8..d6f3641 100644 --- a/knockoutwhistweb/app/model/sessions/UserSession.scala +++ b/knockoutwhistweb/app/model/sessions/UserSession.scala @@ -27,6 +27,7 @@ class UserSession(val user: User, val host: Boolean, val gameLobby: GameLobby) e case _ => } websocketActor.foreach(_.solveRequests()) + println("EVENT which will get transmitted to client:" + event.id) websocketActor.foreach(_.transmitEventToClient(event)) } @@ -73,6 +74,15 @@ class UserSession(val user: User, val host: Boolean, val gameLobby: GameLobby) e case None => println("Card Index not found or is not a number.") } + case "PickTie" => + val maybeCardIndex: Option[Int] = (data \ "cardIndex").asOpt[Int] + maybeCardIndex match { + case Some(index) => + val session = gameLobby.getUserSession(user.id) + gameLobby.selectTie(session, index) + case None => + println("Card Index not found or is not a number.") + } case "KickPlayer" => val maybePlayerId: Option[String] = (data \ "playerId").asOpt[String] maybePlayerId match { diff --git a/knockoutwhistweb/app/model/sessions/UserWebsocketActor.scala b/knockoutwhistweb/app/model/sessions/UserWebsocketActor.scala index 782954c..36cc747 100644 --- a/knockoutwhistweb/app/model/sessions/UserWebsocketActor.scala +++ b/knockoutwhistweb/app/model/sessions/UserWebsocketActor.scala @@ -111,6 +111,7 @@ class UserWebsocketActor( } def transmitEventToClient(event: SimpleEvent): Unit = { + println("This event is getting transmitted to client (INSIDE transmitEventToClient") transmitJsonToClient(WebsocketEventMapper.toJson(event, session)) } diff --git a/knockoutwhistweb/app/util/WebsocketEventMapper.scala b/knockoutwhistweb/app/util/WebsocketEventMapper.scala index 522bd56..a8a906e 100644 --- a/knockoutwhistweb/app/util/WebsocketEventMapper.scala +++ b/knockoutwhistweb/app/util/WebsocketEventMapper.scala @@ -36,7 +36,7 @@ object WebsocketEventMapper { // Register all custom mappers here registerCustomMapper(ReceivedHandEventMapper) - registerCustomMapper(GameStateEventMapper) + //registerCustomMapper(GameStateEventMapper) registerCustomMapper(CardPlayedEventMapper) registerCustomMapper(NewRoundEventMapper) registerCustomMapper(NewTrickEventMapper) @@ -50,10 +50,13 @@ object WebsocketEventMapper { def toJson(obj: SimpleEvent, session: UserSession): JsValue = { val data: Option[JsValue] = if (specialMappers.contains(obj.id)) { + println("TEST1") Some(specialMappers(obj.id).toJson(obj, session)) }else { + println("TEST2") None } + println(s"This is getting sent to client: EVENT: ${obj.id}, STATE: ${session.gameLobby.getLogic.getCurrentState.toString}, STATEDATA: ${stateToJson(session)}, DATA: ${data}") Json.obj( "id" -> ("request-" + java.util.UUID.randomUUID().toString), "event" -> obj.id,