fix: 延迟发送gameOver消息确保最后一手牌先显示

This commit is contained in:
wtz
2026-02-22 10:29:02 +08:00
parent 97e03acbe2
commit a0a0c0ff5e

View File

@@ -186,10 +186,13 @@ func (c *Client) handleMessage(data []byte) {
room, _ := c.Hub.GameMgr.GetRoom(c.RoomID)
if room != nil && room.State == models.RoomStateFinished {
c.Hub.broadcastFinalState(c.RoomID, room)
c.Hub.broadcastToRoom(c.RoomID, models.Message{
Type: models.MsgTypeGameOver,
Data: map[string]string{"winnerId": room.LastWinner},
})
go func() {
time.Sleep(100 * time.Millisecond)
c.Hub.broadcastToRoom(c.RoomID, models.Message{
Type: models.MsgTypeGameOver,
Data: map[string]string{"winnerId": room.LastWinner},
})
}()
} else {
c.Hub.broadcastRoomState(c.RoomID)
}