51 lines
1.2 KiB
Scala
51 lines
1.2 KiB
Scala
package controllers
|
|
|
|
import controllers.sessions.SimpleSession
|
|
import de.knockoutwhist.cards.{Card, CardValue, Hand, Suit}
|
|
import de.knockoutwhist.control.GameState.MainMenu
|
|
import de.knockoutwhist.events.*
|
|
import de.knockoutwhist.events.global.GameStateChangeEvent
|
|
import de.knockoutwhist.events.player.PlayerEvent
|
|
import de.knockoutwhist.player.AbstractPlayer
|
|
import de.knockoutwhist.rounds.Match
|
|
import de.knockoutwhist.ui.UI
|
|
import de.knockoutwhist.utils.CustomThread
|
|
import de.knockoutwhist.utils.events.{EventListener, SimpleEvent}
|
|
|
|
object WebUI extends CustomThread with EventListener with UI {
|
|
|
|
setName("WebUI")
|
|
|
|
var init = false
|
|
|
|
var latestOutput: String = ""
|
|
|
|
override def instance: CustomThread = WebUI
|
|
|
|
override def listen(event: SimpleEvent): Unit = {
|
|
runLater {
|
|
event match {
|
|
case event: PlayerEvent =>
|
|
PodGameManager.transmit(event.playerId, event)
|
|
case event: GameStateChangeEvent =>
|
|
if (event.newState == MainMenu) {
|
|
PodGameManager.clearSessions()
|
|
}
|
|
Some(true)
|
|
case _ =>
|
|
PodGameManager.transmitAll(event)
|
|
}
|
|
}
|
|
}
|
|
|
|
override def initial: Boolean = {
|
|
if (init) {
|
|
return false
|
|
}
|
|
init = true
|
|
start()
|
|
true
|
|
}
|
|
|
|
}
|