fix: 出牌记录玩家名错位bug,改为从消息字符串解析玩家名
This commit is contained in:
parent
cdfcce357d
commit
570d96c5c0
@ -160,8 +160,6 @@ fun LocalGameScreen(
|
|||||||
var pendingDrawStateForWild by remember { mutableStateOf<GameState?>(null) }
|
var pendingDrawStateForWild by remember { mutableStateOf<GameState?>(null) }
|
||||||
var pendingDrawCardIdxForWild by remember { mutableIntStateOf(-1) }
|
var pendingDrawCardIdxForWild by remember { mutableIntStateOf(-1) }
|
||||||
var gameLog by remember { mutableStateOf(listOf<String>()) }
|
var gameLog by remember { mutableStateOf(listOf<String>()) }
|
||||||
// 记录每条日志对应的玩家名,用于行着色
|
|
||||||
var gameLogPlayers by remember { mutableStateOf(listOf<String>()) }
|
|
||||||
var showLogDialog by remember { mutableStateOf(false) }
|
var showLogDialog by remember { mutableStateOf(false) }
|
||||||
var showSwapTargetPicker by remember { mutableStateOf(false) }
|
var showSwapTargetPicker by remember { mutableStateOf(false) }
|
||||||
var pendingSwapState by remember { mutableStateOf<GameState?>(null) }
|
var pendingSwapState by remember { mutableStateOf<GameState?>(null) }
|
||||||
@ -177,8 +175,6 @@ fun LocalGameScreen(
|
|||||||
if (state.message.isNotEmpty()) {
|
if (state.message.isNotEmpty()) {
|
||||||
// 倒序插入,最新在上
|
// 倒序插入,最新在上
|
||||||
gameLog = listOf(state.message) + gameLog
|
gameLog = listOf(state.message) + gameLog
|
||||||
// 记录该消息对应的操作玩家(消息格式: "玩家名 出了..." 或 "玩家名 摸了...")
|
|
||||||
gameLogPlayers = listOf(state.currentPlayer.name) + gameLogPlayers
|
|
||||||
}
|
}
|
||||||
if (state.isGameOver) {
|
if (state.isGameOver) {
|
||||||
isGameOver = true
|
isGameOver = true
|
||||||
@ -420,7 +416,7 @@ fun LocalGameScreen(
|
|||||||
modifier = Modifier.fillMaxSize()
|
modifier = Modifier.fillMaxSize()
|
||||||
) {
|
) {
|
||||||
itemsIndexed(gameLog) { index, msg ->
|
itemsIndexed(gameLog) { index, msg ->
|
||||||
val playerName = gameLogPlayers.getOrElse(index) { parsePlayerName(msg) }
|
val playerName = parsePlayerName(msg)
|
||||||
val avatar = getBotAvatar(playerName)
|
val avatar = getBotAvatar(playerName)
|
||||||
val colorText = parseColorText(msg)
|
val colorText = parseColorText(msg)
|
||||||
val cardColor = cardColorMap[colorText]
|
val cardColor = cardColorMap[colorText]
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user