chore(base): resolved merge-conflict

#5 [Story] Create User Sessions
This commit is contained in:
2025-10-26 11:24:05 +01:00
parent 1f377de0f4
commit 1d2c141bc8
13 changed files with 114 additions and 44 deletions

View File

@@ -7,6 +7,8 @@ import de.knockoutwhist.components.Configuration
import de.knockoutwhist.control.GameState.{InGame, Lobby, SelectTrump, TieBreak}
import de.knockoutwhist.control.controllerBaseImpl.BaseGameLogic
import di.KnockOutWebConfigurationModule
import logic.PodGameManager
import model.sessions.AdvancedSession
import play.api.mvc.*
import play.api.*
import play.twirl.api.Html
@@ -81,13 +83,5 @@ class HomeController @Inject()(val controllerComponents: ControllerComponents) e
Action { implicit request =>
InternalServerError("Oops")
}
//if (logic.getCurrentState == Lobby) {
//Action { implicit request =>
//Ok(views.html.tui.apply(player, logic))
//}
//} else {
//Action { implicit request =>
//Ok(views.html.tui.apply(player, logic))
//}
}
}

View File

@@ -1,37 +0,0 @@
package controllers
import controllers.sessions.PlayerSession
import de.knockoutwhist.utils.events.SimpleEvent
import java.util.UUID
import scala.collection.mutable
object PodGameManager {
private val sessions: mutable.Map[UUID, PlayerSession] = mutable.Map()
def addSession(session: PlayerSession): Unit = {
sessions.put(session.id, session)
}
def clearSessions(): Unit = {
sessions.clear()
}
def identify(id: UUID): Option[PlayerSession] = {
sessions.get(id)
}
def transmit(id: UUID, event: SimpleEvent): Unit = {
identify(id).foreach(_.updatePlayer(event))
}
def transmitAll(event: SimpleEvent): Unit = {
sessions.foreach(session => session._2.updatePlayer(event))
}
def listSessions(): List[PlayerSession] = {
sessions.values.toList
}
}

View File

@@ -1,6 +1,5 @@
package controllers
import controllers.sessions.AdvancedSession
import de.knockoutwhist.cards.{Card, CardValue, Hand, Suit}
import de.knockoutwhist.control.GameLogic
import de.knockoutwhist.control.GameState.{InGame, Lobby}
@@ -12,6 +11,8 @@ import de.knockoutwhist.rounds.Match
import de.knockoutwhist.ui.UI
import de.knockoutwhist.utils.CustomThread
import de.knockoutwhist.utils.events.{EventListener, SimpleEvent}
import logic.PodGameManager
import model.sessions.AdvancedSession
object WebUI extends CustomThread with EventListener with UI {

View File

@@ -1,14 +0,0 @@
package controllers.sessions
import de.knockoutwhist.player.AbstractPlayer
import de.knockoutwhist.utils.events.SimpleEvent
import java.util.UUID
case class AdvancedSession(id: UUID, player: AbstractPlayer) extends PlayerSession {
def name: String = player.name
override def updatePlayer(event: SimpleEvent): Unit = {
}
}

View File

@@ -1,13 +0,0 @@
package controllers.sessions
import de.knockoutwhist.utils.events.SimpleEvent
import java.util.UUID
trait PlayerSession {
def id: UUID
def name: String
def updatePlayer(event: SimpleEvent): Unit
}