feat(user-sessions): introduce GameLobby and GameUtil for session management and code generation

This commit is contained in:
2025-10-29 19:05:55 +01:00
parent 465004b9ce
commit f4f886727f
9 changed files with 60 additions and 58 deletions

View File

@@ -0,0 +1,14 @@
package model.game
import de.knockoutwhist.control.GameLogic
import de.knockoutwhist.utils.events.{EventListener, SimpleEvent}
class GameLobby(val logic: GameLogic) extends EventListener{
logic.addListener(this)
logic.createSession()
override def listen(event: SimpleEvent): Unit = {
}
}

View File

@@ -1,5 +1,6 @@
package model.sessions
import de.knockoutwhist.player.AbstractPlayer
import de.knockoutwhist.utils.events.SimpleEvent
import java.util.UUID
@@ -8,6 +9,7 @@ trait PlayerSession {
def id: UUID
def name: String
def player: AbstractPlayer
def updatePlayer(event: SimpleEvent): Unit
}

View File

@@ -5,7 +5,7 @@ import de.knockoutwhist.utils.events.SimpleEvent
import java.util.UUID
case class AdvancedSession(id: UUID, player: AbstractPlayer) extends PlayerSession {
case class SimpleSession(id: UUID, player: AbstractPlayer) extends PlayerSession {
def name: String = player.name

View File

@@ -0,0 +1,8 @@
package model.sessions
import de.knockoutwhist.player.AbstractPlayer
import java.util.UUID
class UserSession(id: UUID, player: AbstractPlayer) extends SimpleSession(id, player) {
}