feat(user-sessions): implement GameLobby and user session management with exception handling
This commit is contained in:
@@ -1,8 +1,28 @@
|
||||
package model.sessions
|
||||
|
||||
import de.knockoutwhist.player.AbstractPlayer
|
||||
import de.knockoutwhist.events.player.{RequestCardEvent, RequestTieChoiceEvent, RequestTrumpSuitEvent}
|
||||
import de.knockoutwhist.utils.events.SimpleEvent
|
||||
import model.users.User
|
||||
|
||||
import java.util.UUID
|
||||
|
||||
class UserSession(id: UUID, player: AbstractPlayer) extends SimpleSession(id, player) {
|
||||
class UserSession(user: User, val host: Boolean) extends PlayerSession {
|
||||
var canInteract: Boolean = false
|
||||
|
||||
override def updatePlayer(event: SimpleEvent): Unit = {
|
||||
event match {
|
||||
case event: RequestTrumpSuitEvent =>
|
||||
canInteract = true
|
||||
case event: RequestTieChoiceEvent =>
|
||||
canInteract = true
|
||||
case event: RequestCardEvent =>
|
||||
canInteract = true
|
||||
case _ =>
|
||||
}
|
||||
}
|
||||
|
||||
override def id: UUID = user.id
|
||||
|
||||
override def name: String = user.name
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user