@@ -32,7 +32,8 @@ public partial class TournamentBeatmapPanel : CompositeDrawable
32
32
private readonly Bindable < TournamentMatch ? > currentMatch = new Bindable < TournamentMatch ? > ( ) ;
33
33
34
34
private Box flash = null ! ;
35
- private PadLock padLock = null ! ;
35
+ private MapStatusIcon padLock = null ! ;
36
+ private MapStatusIcon banIcon = null ! ;
36
37
private readonly bool isMappool ;
37
38
38
39
public TournamentBeatmapPanel ( IBeatmapInfo ? beatmap , string mod = "" , bool isMappool = false )
@@ -113,7 +114,13 @@ private void load(LadderInfo ladder)
113
114
}
114
115
} ,
115
116
} ,
116
- padLock = new PadLock
117
+ padLock = new MapStatusIcon ( FontAwesome . Solid . ShieldAlt )
118
+ {
119
+ Origin = Anchor . Centre ,
120
+ Anchor = Anchor . Centre ,
121
+ Alpha = 0f ,
122
+ } ,
123
+ banIcon = new MapStatusIcon ( FontAwesome . Solid . Ban )
117
124
{
118
125
Origin = Anchor . Centre ,
119
126
Anchor = Anchor . Centre ,
@@ -203,6 +210,13 @@ private void updateState()
203
210
case ChoiceType . Ban :
204
211
Colour = Color4 . Gray ;
205
212
Alpha = 0.5f ;
213
+
214
+ if ( isMappool )
215
+ {
216
+ banIcon . Team = lastFound . Team ;
217
+ banIcon . Show ( ) ;
218
+ }
219
+
206
220
break ;
207
221
208
222
case ChoiceType . Protected :
@@ -216,6 +230,11 @@ private void updateState()
216
230
Colour = Color4 . White ;
217
231
BorderThickness = 0 ;
218
232
Alpha = 1 ;
233
+
234
+ if ( isMappool )
235
+ {
236
+ banIcon . Hide ( ) ;
237
+ }
219
238
}
220
239
221
240
choice = lastFound ;
@@ -231,18 +250,25 @@ protected override DelayedLoadWrapper CreateDelayedLoadWrapper(Func<Drawable> cr
231
250
=> new DelayedLoadWrapper ( createContentFunc ( ) , timeBeforeLoad ) ;
232
251
}
233
252
234
- private partial class PadLock : Container
253
+ private partial class MapStatusIcon : Container
235
254
{
255
+ private readonly IconUsage icon ;
256
+
236
257
[ Resolved ]
237
258
private OsuColour osuColour { get ; set ; } = null ! ;
238
259
239
260
public TeamColour Team
240
261
{
241
- set => lockIcon . Colour = value == TeamColour . Red ? osuColour . TeamColourRed : osuColour . TeamColourBlue ;
262
+ set => spriteIcon . Colour = value == TeamColour . Red ? osuColour . TeamColourRed : osuColour . TeamColourBlue ;
242
263
}
243
264
244
265
private Sprite background = null ! ;
245
- private SpriteIcon lockIcon = null ! ;
266
+ private SpriteIcon spriteIcon = null ! ;
267
+
268
+ public MapStatusIcon ( IconUsage icon )
269
+ {
270
+ this . icon = icon ;
271
+ }
246
272
247
273
[ BackgroundDependencyLoader ]
248
274
private void load ( TextureStore textures )
@@ -259,12 +285,12 @@ private void load(TextureStore textures)
259
285
Anchor = Anchor . Centre ,
260
286
Origin = Anchor . Centre ,
261
287
} ,
262
- lockIcon = new SpriteIcon
288
+ spriteIcon = new SpriteIcon
263
289
{
264
290
Origin = Anchor . Centre ,
265
291
Anchor = Anchor . Centre ,
266
292
Size = new Vector2 ( 22 ) ,
267
- Icon = FontAwesome . Solid . ShieldAlt ,
293
+ Icon = icon ,
268
294
Shadow = true ,
269
295
}
270
296
} ;
0 commit comments