Normalize checkboxes
This commit is contained in:
@@ -32,11 +32,11 @@ namespace OpenRA.Mods.Cnc.Widgets
|
||||
var panel = widget.GetWidget("CHEATS_PANEL");
|
||||
|
||||
var devTrait = world.LocalPlayer.PlayerActor.Trait<DeveloperMode>();
|
||||
var shroudCheckbox = panel.GetWidget<CncCheckboxWidget>("SHROUD_CHECKBOX");
|
||||
var shroudCheckbox = panel.GetWidget<CheckboxWidget>("SHROUD_CHECKBOX");
|
||||
shroudCheckbox.IsChecked = () => devTrait.DisableShroud;
|
||||
shroudCheckbox.OnClick = () => Order(world, "DevShroud");
|
||||
|
||||
var pathCheckbox = panel.GetWidget<CncCheckboxWidget>("PATHDEBUG_CHECKBOX");
|
||||
var pathCheckbox = panel.GetWidget<CheckboxWidget>("PATHDEBUG_CHECKBOX");
|
||||
pathCheckbox.IsChecked = () => devTrait.PathDebug;
|
||||
pathCheckbox.OnClick = () => Order(world, "DevPathDebug");
|
||||
|
||||
@@ -44,23 +44,23 @@ namespace OpenRA.Mods.Cnc.Widgets
|
||||
panel.GetWidget<ButtonWidget>("GIVE_CASH_BUTTON").OnClick = () =>
|
||||
world.IssueOrder(new Order("DevGiveCash", world.LocalPlayer.PlayerActor, false));
|
||||
|
||||
var fastBuildCheckbox = panel.GetWidget<CncCheckboxWidget>("INSTANT_BUILD_CHECKBOX");
|
||||
var fastBuildCheckbox = panel.GetWidget<CheckboxWidget>("INSTANT_BUILD_CHECKBOX");
|
||||
fastBuildCheckbox.IsChecked = () => devTrait.FastBuild;
|
||||
fastBuildCheckbox.OnClick = () => Order(world, "DevFastBuild");
|
||||
|
||||
var fastChargeCheckbox = panel.GetWidget<CncCheckboxWidget>("INSTANT_CHARGE_CHECKBOX");
|
||||
var fastChargeCheckbox = panel.GetWidget<CheckboxWidget>("INSTANT_CHARGE_CHECKBOX");
|
||||
fastChargeCheckbox.IsChecked = () => devTrait.FastCharge;
|
||||
fastChargeCheckbox.OnClick = () => Order(world, "DevFastCharge");
|
||||
|
||||
var allTechCheckbox = panel.GetWidget<CncCheckboxWidget>("ENABLE_TECH_CHECKBOX");
|
||||
var allTechCheckbox = panel.GetWidget<CheckboxWidget>("ENABLE_TECH_CHECKBOX");
|
||||
allTechCheckbox.IsChecked = () => devTrait.AllTech;
|
||||
allTechCheckbox.OnClick = () => Order(world, "DevEnableTech");
|
||||
|
||||
var powerCheckbox = panel.GetWidget<CncCheckboxWidget>("UNLIMITED_POWER_CHECKBOX");
|
||||
var powerCheckbox = panel.GetWidget<CheckboxWidget>("UNLIMITED_POWER_CHECKBOX");
|
||||
powerCheckbox.IsChecked = () => devTrait.UnlimitedPower;
|
||||
powerCheckbox.OnClick = () => Order(world, "DevUnlimitedPower");
|
||||
|
||||
var buildAnywhereCheckbox = panel.GetWidget<CncCheckboxWidget>("BUILD_ANYWHERE_CHECKBOX");
|
||||
var buildAnywhereCheckbox = panel.GetWidget<CheckboxWidget>("BUILD_ANYWHERE_CHECKBOX");
|
||||
buildAnywhereCheckbox.IsChecked = () => devTrait.BuildAnywhere;
|
||||
buildAnywhereCheckbox.OnClick = () => Order(world, "DevBuildAnywhere");
|
||||
|
||||
|
||||
@@ -209,13 +209,13 @@ namespace OpenRA.Mods.Cnc.Widgets
|
||||
disconnectButton.OnClick = () => { Widget.CloseWindow(); onExit(); };
|
||||
|
||||
var gameStarting = false;
|
||||
var lockTeamsCheckbox = lobby.GetWidget<CncCheckboxWidget>("LOCKTEAMS_CHECKBOX");
|
||||
var lockTeamsCheckbox = lobby.GetWidget<CheckboxWidget>("LOCKTEAMS_CHECKBOX");
|
||||
lockTeamsCheckbox.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.LockTeams;
|
||||
lockTeamsCheckbox.IsDisabled = () => !Game.IsHost || gameStarting;
|
||||
lockTeamsCheckbox.OnClick = () => orderManager.IssueOrder(Order.Command(
|
||||
"lockteams {0}".F(!orderManager.LobbyInfo.GlobalSettings.LockTeams)));
|
||||
|
||||
var allowCheats = lobby.GetWidget<CncCheckboxWidget>("ALLOWCHEATS_CHECKBOX");
|
||||
var allowCheats = lobby.GetWidget<CheckboxWidget>("ALLOWCHEATS_CHECKBOX");
|
||||
allowCheats.IsChecked = () => orderManager.LobbyInfo.GlobalSettings.AllowCheats;
|
||||
allowCheats.IsDisabled = () => !Game.IsHost || gameStarting;
|
||||
allowCheats.OnClick = () => orderManager.IssueOrder(Order.Command(
|
||||
@@ -521,7 +521,7 @@ namespace OpenRA.Mods.Cnc.Widgets
|
||||
team.OnMouseDown = _ => ShowTeamDropDown(team);
|
||||
team.GetText = () => (c.Team == 0) ? "-" : c.Team.ToString();
|
||||
|
||||
var status = template.GetWidget<CncCheckboxWidget>("STATUS");
|
||||
var status = template.GetWidget<CheckboxWidget>("STATUS");
|
||||
status.IsChecked = () => c.State == Session.ClientState.Ready;
|
||||
status.OnClick += CycleReady;
|
||||
|
||||
@@ -553,7 +553,7 @@ namespace OpenRA.Mods.Cnc.Widgets
|
||||
var team = template.GetWidget<LabelWidget>("TEAM");
|
||||
team.GetText = () => (c.Team == 0) ? "-" : c.Team.ToString();
|
||||
|
||||
var status = template.GetWidget<CncCheckboxWidget>("STATUS");
|
||||
var status = template.GetWidget<CheckboxWidget>("STATUS");
|
||||
status.IsChecked = () => c.State == Session.ClientState.Ready;
|
||||
if (c.Index == orderManager.LocalClient.Index)
|
||||
status.OnClick += CycleReady;
|
||||
|
||||
@@ -13,39 +13,10 @@ using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using OpenRA.Graphics;
|
||||
using OpenRA.Widgets;
|
||||
using System.Reflection;
|
||||
|
||||
namespace OpenRA.Mods.Cnc.Widgets
|
||||
{
|
||||
public class CncCheckboxWidget : ButtonWidget
|
||||
{
|
||||
public CncCheckboxWidget()
|
||||
: base() { }
|
||||
protected CncCheckboxWidget(CncCheckboxWidget widget)
|
||||
: base(widget) { }
|
||||
|
||||
public Func<bool> IsChecked = () => false;
|
||||
public int baseLine = 1;
|
||||
|
||||
public override void DrawInner()
|
||||
{
|
||||
var font = Game.Renderer.Fonts[Font];
|
||||
var rect = RenderBounds;
|
||||
ButtonWidget.DrawBackground(new Rectangle(rect.Location, new Size(Bounds.Height, Bounds.Height)),
|
||||
IsDisabled(), Depressed, RenderBounds.Contains(Viewport.LastMousePos));
|
||||
|
||||
var textSize = font.Measure(Text);
|
||||
font.DrawText(Text,
|
||||
new float2(rect.Left + rect.Height * 1.5f, RenderOrigin.Y - baseLine + (Bounds.Height - textSize.Y)/2), Color.White);
|
||||
|
||||
if (IsChecked())
|
||||
WidgetUtils.DrawRGBA(
|
||||
ChromeProvider.GetImage("checkbox", "checked"),
|
||||
new float2(rect.Left + 2, rect.Top + 2));
|
||||
}
|
||||
|
||||
public override Widget Clone() { return new CncCheckboxWidget(this); }
|
||||
}
|
||||
|
||||
public class CncDropDownButtonWidget : DropDownButtonWidget
|
||||
{
|
||||
public CncDropDownButtonWidget() : base() { }
|
||||
|
||||
@@ -81,11 +81,11 @@ namespace OpenRA.Mods.Cnc.Widgets
|
||||
prevButton.OnClick = () => { currentSong = GetPrevSong(); Play(); };
|
||||
prevButton.IsDisabled = noMusic;
|
||||
|
||||
var shuffleCheckbox = panel.GetWidget<CncCheckboxWidget>("SHUFFLE");
|
||||
var shuffleCheckbox = panel.GetWidget<CheckboxWidget>("SHUFFLE");
|
||||
shuffleCheckbox.IsChecked = () => Game.Settings.Sound.Shuffle;
|
||||
shuffleCheckbox.OnClick = () => Game.Settings.Sound.Shuffle ^= true;
|
||||
|
||||
var repeatCheckbox = panel.GetWidget<CncCheckboxWidget>("REPEAT");
|
||||
var repeatCheckbox = panel.GetWidget<CheckboxWidget>("REPEAT");
|
||||
repeatCheckbox.IsChecked = () => Game.Settings.Sound.Repeat;
|
||||
repeatCheckbox.OnClick = () => Game.Settings.Sound.Repeat ^= true;
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@ namespace OpenRA.Mods.Cnc.Widgets
|
||||
externalPort.Text = settings.Server.ExternalPort.ToString();
|
||||
externalPort.IsDisabled = () => !advertiseOnline;
|
||||
|
||||
var advertiseCheckbox = panel.GetWidget<CncCheckboxWidget>("ADVERTISE_CHECKBOX");
|
||||
var advertiseCheckbox = panel.GetWidget<CheckboxWidget>("ADVERTISE_CHECKBOX");
|
||||
advertiseCheckbox.IsChecked = () => advertiseOnline;
|
||||
advertiseCheckbox.OnClick = () => advertiseOnline ^= true;
|
||||
|
||||
|
||||
@@ -64,22 +64,22 @@ namespace OpenRA.Mods.Cnc.Widgets
|
||||
|
||||
// Debug
|
||||
var perftext = Game.Settings.Debug.PerfText;
|
||||
var perftextCheckbox = generalPane.GetWidget<CncCheckboxWidget>("PERFTEXT_CHECKBOX");
|
||||
var perftextCheckbox = generalPane.GetWidget<CheckboxWidget>("PERFTEXT_CHECKBOX");
|
||||
perftextCheckbox.IsChecked = () => perftext;
|
||||
perftextCheckbox.OnClick = () => perftext ^= true;
|
||||
|
||||
var perfgraph = Game.Settings.Debug.PerfGraph;
|
||||
var perfgraphCheckbox = generalPane.GetWidget<CncCheckboxWidget>("PERFGRAPH_CHECKBOX");
|
||||
var perfgraphCheckbox = generalPane.GetWidget<CheckboxWidget>("PERFGRAPH_CHECKBOX");
|
||||
perfgraphCheckbox.IsChecked = () => perfgraph;
|
||||
perfgraphCheckbox.OnClick = () => perfgraph ^= true;
|
||||
|
||||
var matchtimer = Game.Settings.Game.MatchTimer;
|
||||
var matchtimerCheckbox = generalPane.GetWidget<CncCheckboxWidget>("MATCHTIME_CHECKBOX");
|
||||
var matchtimerCheckbox = generalPane.GetWidget<CheckboxWidget>("MATCHTIME_CHECKBOX");
|
||||
matchtimerCheckbox.IsChecked = () => matchtimer;
|
||||
matchtimerCheckbox.OnClick = () => matchtimer ^= true;
|
||||
|
||||
var checkunsynced = Game.Settings.Debug.SanityCheckUnsyncedCode;
|
||||
var checkunsyncedCheckbox = generalPane.GetWidget<CncCheckboxWidget>("CHECKUNSYNCED_CHECKBOX");
|
||||
var checkunsyncedCheckbox = generalPane.GetWidget<CheckboxWidget>("CHECKUNSYNCED_CHECKBOX");
|
||||
checkunsyncedCheckbox.IsChecked = () => checkunsynced;
|
||||
checkunsyncedCheckbox.OnClick = () => checkunsynced ^= true;
|
||||
|
||||
@@ -110,7 +110,7 @@ namespace OpenRA.Mods.Cnc.Widgets
|
||||
musicSlider.SetOffset(musicVolume);
|
||||
|
||||
var shellmapMusic = Game.Settings.Game.ShellmapMusic;
|
||||
var shellmapMusicCheckbox = generalPane.GetWidget<CncCheckboxWidget>("SHELLMAP_MUSIC");
|
||||
var shellmapMusicCheckbox = generalPane.GetWidget<CheckboxWidget>("SHELLMAP_MUSIC");
|
||||
shellmapMusicCheckbox.IsChecked = () => shellmapMusic;
|
||||
shellmapMusicCheckbox.OnClick = () => shellmapMusic ^= true;
|
||||
|
||||
@@ -122,8 +122,8 @@ namespace OpenRA.Mods.Cnc.Widgets
|
||||
var inputButton = panel.GetWidget<ButtonWidget>("INPUT_BUTTON");
|
||||
inputButton.OnClick = () => Settings = PanelType.Input;
|
||||
inputButton.IsDisabled = () => Settings == PanelType.Input;
|
||||
|
||||
inputPane.GetWidget<CncCheckboxWidget>("CLASSICORDERS_CHECKBOX").IsDisabled = () => true;
|
||||
|
||||
inputPane.GetWidget<CheckboxWidget>("CLASSICORDERS_CHECKBOX").IsDisabled = () => true;
|
||||
|
||||
var scrollStrength = Game.Settings.Game.ViewportEdgeScrollStep;
|
||||
var scrollSlider = inputPane.GetWidget<SliderWidget>("SCROLLSPEED_SLIDER");
|
||||
@@ -131,7 +131,7 @@ namespace OpenRA.Mods.Cnc.Widgets
|
||||
scrollSlider.SetOffset(scrollStrength);
|
||||
|
||||
var edgescroll = Game.Settings.Game.ViewportEdgeScroll;
|
||||
var edgescrollCheckbox = inputPane.GetWidget<CncCheckboxWidget>("EDGESCROLL_CHECKBOX");
|
||||
var edgescrollCheckbox = inputPane.GetWidget<CheckboxWidget>("EDGESCROLL_CHECKBOX");
|
||||
edgescrollCheckbox.IsChecked = () => edgescroll;
|
||||
edgescrollCheckbox.OnClick = () => edgescroll ^= true;
|
||||
|
||||
@@ -141,7 +141,7 @@ namespace OpenRA.Mods.Cnc.Widgets
|
||||
mouseScrollDropdown.GetText = () => mouseScroll.ToString();
|
||||
|
||||
var teamchat = Game.Settings.Game.TeamChatToggle;
|
||||
var teamchatCheckbox = inputPane.GetWidget<CncCheckboxWidget>("TEAMCHAT_CHECKBOX");
|
||||
var teamchatCheckbox = inputPane.GetWidget<CheckboxWidget>("TEAMCHAT_CHECKBOX");
|
||||
teamchatCheckbox.IsChecked = () => teamchat;
|
||||
teamchatCheckbox.OnClick = () => teamchat ^= true;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user