blinking ready checkbox when all slots are taken

This commit is contained in:
Matthias Mailänder
2013-12-27 23:36:58 +01:00
parent bb37d90781
commit f35400ad3e
6 changed files with 65 additions and 7 deletions

View File

@@ -42,6 +42,7 @@ namespace OpenRA.Widgets
public override void Draw() public override void Draw()
{ {
var disabled = IsDisabled(); var disabled = IsDisabled();
var highlighted = IsHighlighted();
var font = Game.Renderer.Fonts[Font]; var font = Game.Renderer.Fonts[Font];
var color = GetColor(); var color = GetColor();
var colordisabled = GetColorDisabled(); var colordisabled = GetColorDisabled();
@@ -50,6 +51,7 @@ namespace OpenRA.Widgets
var textSize = font.Measure(Text); var textSize = font.Measure(Text);
var check = new Rectangle(rect.Location, new Size(Bounds.Height, Bounds.Height)); var check = new Rectangle(rect.Location, new Size(Bounds.Height, Bounds.Height));
var state = disabled ? "checkbox-disabled" : var state = disabled ? "checkbox-disabled" :
highlighted ? "checkbox-highlighted" :
Depressed && HasPressedState ? "checkbox-pressed" : Depressed && HasPressedState ? "checkbox-pressed" :
Ui.MouseOverWidget == this ? "checkbox-hover" : Ui.MouseOverWidget == this ? "checkbox-hover" :
"checkbox"; "checkbox";

View File

@@ -284,6 +284,14 @@ namespace OpenRA.Mods.RA.Widgets.Logic
}; };
} }
var statusCheckbox = lobby.GetOrNull<CheckboxWidget>("STATUS_CHECKBOX");
if (statusCheckbox != null)
{
statusCheckbox.IsHighlighted = () => !statusCheckbox.IsChecked() &&
orderManager.LobbyInfo.FirstEmptySlot() == null &&
world.FrameNumber / 25 % 2 == 0;
}
// Options panel // Options panel
var allowCheats = optionsBin.GetOrNull<CheckboxWidget>("ALLOWCHEATS_CHECKBOX"); var allowCheats = optionsBin.GetOrNull<CheckboxWidget>("ALLOWCHEATS_CHECKBOX");
if (allowCheats != null) if (allowCheats != null)

View File

@@ -315,6 +315,18 @@ checkbox-pressed: chrome.png
corner-bl: 64,254,2,2 corner-bl: 64,254,2,2
corner-br: 126,254,2,2 corner-br: 126,254,2,2
# A copy of button-highlighted-pressed
checkbox-highlighted: chrome.png
background: 257,161,30,30
border-r: 287,161,1,30
border-l: 256,161,1,30
border-b: 257,191,30,1
border-t: 257,160,30,1
corner-tl: 256,160,1,1
corner-tr: 287,160,1,1
corner-bl: 256,191,1,1
corner-br: 287,191,1,1
panel-black: chrome.png panel-black: chrome.png
background: 66,2,60,60 background: 66,2,60,60
border-r: 126,2,2,60 border-r: 126,2,2,60

View File

@@ -544,7 +544,19 @@ checkbox-disabled: dialog.png
corner-tr: 767,256,1,1 corner-tr: 767,256,1,1
corner-bl: 640,383,1,1 corner-bl: 640,383,1,1
corner-br: 767,383,1,1 corner-br: 767,383,1,1
# Same as button-highlighted-pressed
checkbox-highlighted: dialog.png
background: 897,1,126,126
border-r: 1023,1,1,126
border-l: 896,1,1,126
border-b: 897,127,126,1
border-t: 897,0,126,1
corner-tl: 896,0,1,1
corner-tr: 1023,0,1,1
corner-bl: 896,127,1,1
corner-br: 1023,127,1,1
# A copy of dialog3 (pressed button) # A copy of dialog3 (pressed button)
scrollitem-selected: dialog.png scrollitem-selected: dialog.png
background: 641,1,126,126 background: 641,1,126,126
@@ -556,7 +568,7 @@ scrollitem-selected: dialog.png
corner-tr: 767,0,1,1 corner-tr: 767,0,1,1
corner-bl: 640,127,1,1 corner-bl: 640,127,1,1
corner-br: 767,127,1,1 corner-br: 767,127,1,1
# A copy of dialog2 (normal button) # A copy of dialog2 (normal button)
scrollitem-hover: dialog.png scrollitem-hover: dialog.png
background: 513,1,126,126 background: 513,1,126,126

View File

@@ -495,6 +495,18 @@ checkbox-disabled: dialog.png
corner-bl: 640,383,1,1 corner-bl: 640,383,1,1
corner-br: 767,383,1,1 corner-br: 767,383,1,1
# Same as button-highlighted-pressed
checkbox-highlighted: dialog.png
background: 897,1,126,126
border-r: 1023,1,1,126
border-l: 896,1,1,126
border-b: 897,127,126,1
border-t: 897,0,126,1
corner-tl: 896,0,1,1
corner-tr: 1023,0,1,1
corner-bl: 896,127,1,1
corner-br: 1023,127,1,1
# A copy of dialog3 (pressed button) # A copy of dialog3 (pressed button)
scrollitem-selected: dialog.png scrollitem-selected: dialog.png
background: 641,1,126,126 background: 641,1,126,126

View File

@@ -314,9 +314,9 @@ button-highlighted-pressed: dialog.png
corner-tl: 896,0,1,1 corner-tl: 896,0,1,1
corner-tr: 1023,0,1,1 corner-tr: 1023,0,1,1
corner-bl: 896,127,1,1 corner-bl: 896,127,1,1
corner-br: 1023,127,1,1 corner-br: 1023,127,1,1
# A copy of button-highlighted # A copy of button-highlighted
button-highlighted-disabled: dialog.png button-highlighted-disabled: dialog.png
background: 769,1,126,126 background: 769,1,126,126
border-r: 639,1,1,126 border-r: 639,1,1,126
@@ -388,7 +388,7 @@ textfield: dialog.png
corner-bl: 640,127,1,1 corner-bl: 640,127,1,1
corner-br: 767,127,1,1 corner-br: 767,127,1,1
# A copy of checkbox-hover # A copy of checkbox-hover
textfield-hover: dialog.png textfield-hover: dialog.png
background: 641,129,126,126 background: 641,129,126,126
border-r: 767,129,1,126 border-r: 767,129,1,126
@@ -488,7 +488,19 @@ checkbox-disabled: dialog.png
corner-tr: 767,256,1,1 corner-tr: 767,256,1,1
corner-bl: 640,383,1,1 corner-bl: 640,383,1,1
corner-br: 767,383,1,1 corner-br: 767,383,1,1
# Same as a button-highlighted-pressed
checkbox-highlighted: dialog.png
background: 897,1,126,126
border-r: 1023,1,1,126
border-l: 896,1,1,126
border-b: 897,127,126,1
border-t: 897,0,126,1
corner-tl: 896,0,1,1
corner-tr: 1023,0,1,1
corner-bl: 896,127,1,1
corner-br: 1023,127,1,1
# A copy of dialog3 (pressed button) # A copy of dialog3 (pressed button)
scrollitem-selected: dialog.png scrollitem-selected: dialog.png
background: 641,1,126,126 background: 641,1,126,126
@@ -500,7 +512,7 @@ scrollitem-selected: dialog.png
corner-tr: 767,0,1,1 corner-tr: 767,0,1,1
corner-bl: 640,127,1,1 corner-bl: 640,127,1,1
corner-br: 767,127,1,1 corner-br: 767,127,1,1
# A copy of dialog2 (normal button) # A copy of dialog2 (normal button)
scrollitem-hover: dialog.png scrollitem-hover: dialog.png
background: 513,1,126,126 background: 513,1,126,126