Package-level declarations
Overview
Lobby interface for browsing, joining, and managing multiplayer games.
Components
LobbyMenu— Main lobby composableLobbyViewModel— State management for lobby operationslobbyViews/— Sub-components for displaying game lists and details
Responsibilities
Displaying available games
Allowing players to join existing games
Managing game lobby state
Refreshing game lists from storage
Types
Link copied to clipboard
Represents a game loaded from storage in the lobby.
Link copied to clipboard
Enumeration of possible lobby screen states.
Link copied to clipboard
data class LobbyUiState(val gameStates: List<LobbyLoadedState> = emptyList(), val lobbyState: LobbyState = LobbyState.NONE, val selectedGame: LobbyLoadedState? = null, val canRefresh: Boolean = false, val screenState: ScreenState = ScreenState(
error = null,
isLoading = false
)) : UiState
UI state for the lobby screen displaying available games.
Link copied to clipboard
class LobbyViewModel(val appState: AppStateImpl, val scope: CoroutineScope, val pickGame: (Game) -> Unit, val globalError: ReversiException? = null, val setGlobalError: (Exception?, ErrorType?) -> Unit) : ViewModel<LobbyUiState>
View model for the lobby screen managing game list, polling, and user interactions. Handles loading available games, polling for updates, and game selection.