@@ -10,11 +10,16 @@ import dartzee.preferences.Preferences
10
10
import dartzee.utils.InjectedThings.mainDatabase
11
11
import dartzee.utils.InjectedThings.partyMode
12
12
import dartzee.utils.InjectedThings.preferenceService
13
+ import dartzee.utils.ResourceCache
13
14
import dartzee.utils.combinePlayerFlags
14
15
import dartzee.utils.doesHighestWin
15
16
import dartzee.utils.getFilterPanel
17
+ import dartzee.utils.getImageForTableRow
18
+ import dartzee.utils.getRawImageForTableRow
19
+ import dartzee.utils.splitAvatar
16
20
import java.awt.BorderLayout
17
21
import java.awt.Dimension
22
+ import java.awt.Font
18
23
import java.awt.event.ActionListener
19
24
import javax.swing.JPanel
20
25
import javax.swing.JRadioButton
@@ -88,6 +93,14 @@ class LeaderboardTotalScore(private val gameType: GameType, gameParams: String?
88
93
model.addRows(rows)
89
94
90
95
table.model = model
96
+
97
+ if (partyMode) {
98
+ table.setRowHeight(50 )
99
+
100
+ val font = ResourceCache .BASE_FONT .deriveFont(Font .PLAIN , 20f )
101
+ table.setTableFont(font)
102
+ }
103
+
91
104
table.setColumnWidths(" 35;50" )
92
105
table.sortBy(0 , false )
93
106
}
@@ -109,7 +122,7 @@ class LeaderboardTotalScore(private val gameType: GameType, gameParams: String?
109
122
val playerWhereSql = panelPlayerFilters.getWhereSql()
110
123
111
124
val sb = StringBuilder ()
112
- sb.append(" SELECT p.Strategy, p.Name, g.LocalId, pt.FinalScore" )
125
+ sb.append(" SELECT p.Strategy, p.Name, p.PlayerImageId, g.LocalId, pt.FinalScore" )
113
126
sb.append(" FROM Participant pt, Game g, Player p" )
114
127
sb.append(" WHERE pt.GameId = g.RowId" )
115
128
sb.append(" AND pt.PlayerId = p.RowId" )
@@ -129,7 +142,10 @@ class LeaderboardTotalScore(private val gameType: GameType, gameParams: String?
129
142
val localId = rs.getLong(" LocalId" )
130
143
val score = rs.getInt(" FinalScore" )
131
144
132
- val flag = PlayerEntity .getPlayerFlag(strategy.isEmpty())
145
+ val flag =
146
+ if (partyMode) getImageForTableRow(rs.getString(" PlayerImageId" ))
147
+ else PlayerEntity .getPlayerFlag(strategy.isEmpty())
148
+
133
149
LeaderboardEntry (score, listOf (flag, playerName, localId, score))
134
150
}
135
151
}
@@ -140,7 +156,8 @@ class LeaderboardTotalScore(private val gameType: GameType, gameParams: String?
140
156
141
157
val sb = StringBuilder ()
142
158
sb.append(
143
- " SELECT p1.Strategy, p2.Strategy AS Strategy2, p1.Name, p2.Name as Name2, g.LocalId, t.FinalScore"
159
+ " SELECT p1.Strategy, p2.Strategy AS Strategy2, p1.Name, p2.Name as Name2, " +
160
+ " p1.PlayerImageId, p2.PlayerImageId as PlayerImageId2, g.LocalId, t.FinalScore"
144
161
)
145
162
sb.append(" FROM Team t, Participant pt1, Participant pt2, Game g, Player p1, Player p2" )
146
163
sb.append(" WHERE t.GameId = g.RowId" )
@@ -169,12 +186,23 @@ class LeaderboardTotalScore(private val gameType: GameType, gameParams: String?
169
186
val localId = rs.getLong(" LocalId" )
170
187
val score = rs.getInt(" FinalScore" )
171
188
172
- val playerFlag = PlayerEntity .getPlayerFlag(strategy.isEmpty())
173
- val playerFlag2 = PlayerEntity .getPlayerFlag(strategy2.isEmpty())
174
- val combinedFlag = combinePlayerFlags(playerFlag, playerFlag2)
189
+ val icon =
190
+ if (partyMode) {
191
+ val imageIdOne = rs.getString(" PlayerImageId" )
192
+ val imageIdTwo = rs.getString(" PlayerImageId2" )
193
+
194
+ val imgOne = getRawImageForTableRow(imageIdOne)
195
+ val imgTwo = getRawImageForTableRow(imageIdTwo)
196
+ splitAvatar(imgOne, imgTwo, null , true )
197
+ } else {
198
+ val playerFlag = PlayerEntity .getPlayerFlag(strategy.isEmpty())
199
+ val playerFlag2 = PlayerEntity .getPlayerFlag(strategy2.isEmpty())
200
+ combinePlayerFlags(playerFlag, playerFlag2)
201
+ }
202
+
175
203
val playerName = " $playerName1 & $playerName2 "
176
204
177
- LeaderboardEntry (score, listOf (combinedFlag , playerName, localId, score))
205
+ LeaderboardEntry (score, listOf (icon , playerName, localId, score))
178
206
}
179
207
}
180
208
0 commit comments