summaryrefslogtreecommitdiff
path: root/sw-common-model
diff options
context:
space:
mode:
Diffstat (limited to 'sw-common-model')
-rw-r--r--sw-common-model/src/commonMain/kotlin/org/luxons/sevenwonders/model/PlayerState.kt43
1 files changed, 0 insertions, 43 deletions
diff --git a/sw-common-model/src/commonMain/kotlin/org/luxons/sevenwonders/model/PlayerState.kt b/sw-common-model/src/commonMain/kotlin/org/luxons/sevenwonders/model/PlayerState.kt
index 725b1654..90d23aa9 100644
--- a/sw-common-model/src/commonMain/kotlin/org/luxons/sevenwonders/model/PlayerState.kt
+++ b/sw-common-model/src/commonMain/kotlin/org/luxons/sevenwonders/model/PlayerState.kt
@@ -1,52 +1,9 @@
package org.luxons.sevenwonders.model
import kotlinx.serialization.Serializable
-import org.luxons.sevenwonders.model.api.PlayerDTO
-import org.luxons.sevenwonders.model.boards.Board
-import org.luxons.sevenwonders.model.boards.RelativeBoardPosition
-import org.luxons.sevenwonders.model.cards.CardBack
-import org.luxons.sevenwonders.model.cards.HandCard
-import org.luxons.sevenwonders.model.cards.HandRotationDirection
import org.luxons.sevenwonders.model.wonders.WonderBuildability
@Serializable
-data class GameState(
- val gameId: Long,
- val playerIndex: Int,
- val currentAge: Age,
- val players: List<PlayerDTO>,
- val boards: List<Board>,
- val handRotationDirection: HandRotationDirection,
- val action: TurnAction,
- val preparedCardsByUsername: Map<String, CardBack?> = emptyMap(),
- val currentPreparedMove: PlayerMove? = null,
-) {
- val currentPreparedCard: HandCard?
- get() {
- val hand = (action as? TurnAction.PlayFromHand)?.hand
- return hand?.firstOrNull { it.name == currentPreparedMove?.cardName }
- }
-
- val RelativeBoardPosition.absoluteIndex: Int
- get() = getIndexFrom(playerIndex, boards.size)
-}
-
-fun GameState.getOwnBoard(): Board = boards[playerIndex]
-
-fun GameState.getBoard(position: RelativeBoardPosition): Board = boards[position.absoluteIndex]
-
-fun GameState.getNonNeighbourBoards(): List<Board> {
- val nPlayers = boards.size
- if (nPlayers <= 3) {
- return emptyList()
- }
- val first = (playerIndex + 2) % nPlayers
- val last = (playerIndex - 2 + nPlayers) % nPlayers
- val range = if (first <= last) first..last else ((first until nPlayers) + (0..last))
- return range.map { boards[it] }
-}
-
-@Serializable
data class PlayerTurnInfo(
val playerIndex: Int,
val table: TableState,
bgstack15