Migrate ButtonWidget to NamedHotkey.
This commit is contained in:
@@ -19,14 +19,8 @@ namespace OpenRA.Mods.Common.Widgets
|
|||||||
{
|
{
|
||||||
public readonly string TooltipContainer;
|
public readonly string TooltipContainer;
|
||||||
public readonly string TooltipTemplate = "BUTTON_TOOLTIP";
|
public readonly string TooltipTemplate = "BUTTON_TOOLTIP";
|
||||||
public Func<ButtonWidget, Hotkey> GetKey = _ => Hotkey.Invalid;
|
|
||||||
|
|
||||||
public Hotkey Key
|
|
||||||
{
|
|
||||||
get { return GetKey(this); }
|
|
||||||
set { GetKey = _ => value; }
|
|
||||||
}
|
|
||||||
|
|
||||||
|
public NamedHotkey Key = new NamedHotkey();
|
||||||
public bool DisableKeyRepeat = false;
|
public bool DisableKeyRepeat = false;
|
||||||
public bool DisableKeySound = false;
|
public bool DisableKeySound = false;
|
||||||
|
|
||||||
@@ -136,7 +130,7 @@ namespace OpenRA.Mods.Common.Widgets
|
|||||||
|
|
||||||
public override bool HandleKeyPress(KeyInput e)
|
public override bool HandleKeyPress(KeyInput e)
|
||||||
{
|
{
|
||||||
if (Hotkey.FromKeyInput(e) != Key || e.Event != KeyInputEvent.Down || (DisableKeyRepeat && e.IsRepeat))
|
if (Hotkey.FromKeyInput(e) != Key.GetValue() || e.Event != KeyInputEvent.Down || (DisableKeyRepeat && e.IsRepeat))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (!IsDisabled())
|
if (!IsDisabled())
|
||||||
|
|||||||
@@ -23,17 +23,18 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
|||||||
var font = Game.Renderer.Fonts[label.Font];
|
var font = Game.Renderer.Fonts[label.Font];
|
||||||
var text = button.GetTooltipText();
|
var text = button.GetTooltipText();
|
||||||
var labelWidth = font.Measure(text).X;
|
var labelWidth = font.Measure(text).X;
|
||||||
|
var key = button.Key.GetValue();
|
||||||
|
|
||||||
label.GetText = () => text;
|
label.GetText = () => text;
|
||||||
label.Bounds.Width = labelWidth;
|
label.Bounds.Width = labelWidth;
|
||||||
widget.Bounds.Width = 2 * label.Bounds.X + labelWidth;
|
widget.Bounds.Width = 2 * label.Bounds.X + labelWidth;
|
||||||
|
|
||||||
if (button.Key.IsValid())
|
if (key.IsValid())
|
||||||
{
|
{
|
||||||
var hotkey = widget.Get<LabelWidget>("HOTKEY");
|
var hotkey = widget.Get<LabelWidget>("HOTKEY");
|
||||||
hotkey.Visible = true;
|
hotkey.Visible = true;
|
||||||
|
|
||||||
var hotkeyLabel = "({0})".F(button.Key.DisplayString());
|
var hotkeyLabel = "({0})".F(key.DisplayString());
|
||||||
hotkey.GetText = () => hotkeyLabel;
|
hotkey.GetText = () => hotkeyLabel;
|
||||||
hotkey.Bounds.X = labelWidth + 2 * label.Bounds.X;
|
hotkey.Bounds.X = labelWidth + 2 * label.Bounds.X;
|
||||||
|
|
||||||
|
|||||||
@@ -25,17 +25,18 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
|||||||
var font = Game.Renderer.Fonts[label.Font];
|
var font = Game.Renderer.Fonts[label.Font];
|
||||||
var text = button.GetTooltipText();
|
var text = button.GetTooltipText();
|
||||||
var labelWidth = font.Measure(text).X;
|
var labelWidth = font.Measure(text).X;
|
||||||
|
var key = button.Key.GetValue();
|
||||||
|
|
||||||
label.GetText = () => text;
|
label.GetText = () => text;
|
||||||
label.Bounds.Width = labelWidth;
|
label.Bounds.Width = labelWidth;
|
||||||
widget.Bounds.Width = 2 * label.Bounds.X + labelWidth;
|
widget.Bounds.Width = 2 * label.Bounds.X + labelWidth;
|
||||||
|
|
||||||
if (button.Key.IsValid())
|
if (key.IsValid())
|
||||||
{
|
{
|
||||||
var hotkey = widget.Get<LabelWidget>("HOTKEY");
|
var hotkey = widget.Get<LabelWidget>("HOTKEY");
|
||||||
hotkey.Visible = true;
|
hotkey.Visible = true;
|
||||||
|
|
||||||
var hotkeyLabel = "({0})".F(button.Key.DisplayString());
|
var hotkeyLabel = "({0})".F(key.DisplayString());
|
||||||
hotkey.GetText = () => hotkeyLabel;
|
hotkey.GetText = () => hotkeyLabel;
|
||||||
hotkey.Bounds.X = labelWidth + 2 * label.Bounds.X;
|
hotkey.Bounds.X = labelWidth + 2 * label.Bounds.X;
|
||||||
|
|
||||||
|
|||||||
@@ -62,7 +62,6 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
|||||||
var options = worldRenderer.Viewport.AvailableZoomSteps;
|
var options = worldRenderer.Viewport.AvailableZoomSteps;
|
||||||
zoomDropdown.OnMouseDown = _ => zoomDropdown.ShowDropDown("LABEL_DROPDOWN_TEMPLATE", 150, options, setupItem);
|
zoomDropdown.OnMouseDown = _ => zoomDropdown.ShowDropDown("LABEL_DROPDOWN_TEMPLATE", 150, options, setupItem);
|
||||||
zoomDropdown.GetText = () => zoomDropdown.SelectedItem;
|
zoomDropdown.GetText = () => zoomDropdown.SelectedItem;
|
||||||
zoomDropdown.GetKey = _ => Game.Settings.Keys.TogglePixelDoubleKey;
|
|
||||||
zoomDropdown.OnKeyPress = e =>
|
zoomDropdown.OnKeyPress = e =>
|
||||||
{
|
{
|
||||||
var key = Hotkey.FromKeyInput(e);
|
var key = Hotkey.FromKeyInput(e);
|
||||||
|
|||||||
@@ -43,21 +43,11 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
|||||||
palette.PickUpCompletedBuilding();
|
palette.PickUpCompletedBuilding();
|
||||||
};
|
};
|
||||||
|
|
||||||
Func<ButtonWidget, Hotkey> getKey = _ => Hotkey.Invalid;
|
|
||||||
if (!string.IsNullOrEmpty(button.HotkeyName))
|
|
||||||
{
|
|
||||||
var ks = Game.Settings.Keys;
|
|
||||||
var field = ks.GetType().GetField(button.HotkeyName);
|
|
||||||
if (field != null)
|
|
||||||
getKey = _ => (Hotkey)field.GetValue(ks);
|
|
||||||
}
|
|
||||||
|
|
||||||
button.IsDisabled = () => !queues.Any(q => q.BuildableItems().Any());
|
button.IsDisabled = () => !queues.Any(q => q.BuildableItems().Any());
|
||||||
button.OnMouseUp = mi => selectTab(mi.Modifiers.HasModifier(Modifiers.Shift));
|
button.OnMouseUp = mi => selectTab(mi.Modifiers.HasModifier(Modifiers.Shift));
|
||||||
button.OnKeyPress = e => selectTab(e.Modifiers.HasModifier(Modifiers.Shift));
|
button.OnKeyPress = e => selectTab(e.Modifiers.HasModifier(Modifiers.Shift));
|
||||||
button.OnClick = () => selectTab(false);
|
button.OnClick = () => selectTab(false);
|
||||||
button.IsHighlighted = () => queues.Contains(palette.CurrentQueue);
|
button.IsHighlighted = () => queues.Contains(palette.CurrentQueue);
|
||||||
button.GetKey = getKey;
|
|
||||||
|
|
||||||
var chromeName = button.ProductionGroup.ToLowerInvariant();
|
var chromeName = button.ProductionGroup.ToLowerInvariant();
|
||||||
var icon = button.Get<ImageWidget>("ICON");
|
var icon = button.Get<ImageWidget>("ICON");
|
||||||
|
|||||||
@@ -43,14 +43,12 @@ namespace OpenRA.Mods.Common.Widgets
|
|||||||
public CommandBarLogic(Widget widget, World world)
|
public CommandBarLogic(Widget widget, World world)
|
||||||
{
|
{
|
||||||
this.world = world;
|
this.world = world;
|
||||||
var ks = Game.Settings.Keys;
|
|
||||||
|
|
||||||
var attackMoveButton = widget.GetOrNull<ButtonWidget>("ATTACK_MOVE");
|
var attackMoveButton = widget.GetOrNull<ButtonWidget>("ATTACK_MOVE");
|
||||||
if (attackMoveButton != null)
|
if (attackMoveButton != null)
|
||||||
{
|
{
|
||||||
BindButtonIcon(attackMoveButton);
|
BindButtonIcon(attackMoveButton);
|
||||||
|
|
||||||
attackMoveButton.GetKey = _ => ks.AttackMoveKey;
|
|
||||||
attackMoveButton.IsDisabled = () => { UpdateStateIfNecessary(); return attackMoveDisabled; };
|
attackMoveButton.IsDisabled = () => { UpdateStateIfNecessary(); return attackMoveDisabled; };
|
||||||
attackMoveButton.IsHighlighted = () => world.OrderGenerator is GenericSelectTarget
|
attackMoveButton.IsHighlighted = () => world.OrderGenerator is GenericSelectTarget
|
||||||
&& ((GenericSelectTarget)world.OrderGenerator).OrderName == "AttackMove";
|
&& ((GenericSelectTarget)world.OrderGenerator).OrderName == "AttackMove";
|
||||||
@@ -108,7 +106,6 @@ namespace OpenRA.Mods.Common.Widgets
|
|||||||
{
|
{
|
||||||
BindButtonIcon(guardButton);
|
BindButtonIcon(guardButton);
|
||||||
|
|
||||||
guardButton.GetKey = _ => ks.GuardKey;
|
|
||||||
guardButton.IsDisabled = () => { UpdateStateIfNecessary(); return guardDisabled; };
|
guardButton.IsDisabled = () => { UpdateStateIfNecessary(); return guardDisabled; };
|
||||||
guardButton.IsHighlighted = () => world.OrderGenerator is GenericSelectTarget
|
guardButton.IsHighlighted = () => world.OrderGenerator is GenericSelectTarget
|
||||||
&& ((GenericSelectTarget)world.OrderGenerator).OrderName == "Guard";
|
&& ((GenericSelectTarget)world.OrderGenerator).OrderName == "Guard";
|
||||||
@@ -134,7 +131,6 @@ namespace OpenRA.Mods.Common.Widgets
|
|||||||
{
|
{
|
||||||
BindButtonIcon(scatterButton);
|
BindButtonIcon(scatterButton);
|
||||||
|
|
||||||
scatterButton.GetKey = _ => ks.ScatterKey;
|
|
||||||
scatterButton.IsDisabled = () => { UpdateStateIfNecessary(); return scatterDisabled; };
|
scatterButton.IsDisabled = () => { UpdateStateIfNecessary(); return scatterDisabled; };
|
||||||
scatterButton.IsHighlighted = () => scatterHighlighted > 0;
|
scatterButton.IsHighlighted = () => scatterHighlighted > 0;
|
||||||
scatterButton.OnClick = () => PerformKeyboardOrderOnSelection(a => new Order("Scatter", a, false));
|
scatterButton.OnClick = () => PerformKeyboardOrderOnSelection(a => new Order("Scatter", a, false));
|
||||||
@@ -146,7 +142,6 @@ namespace OpenRA.Mods.Common.Widgets
|
|||||||
{
|
{
|
||||||
BindButtonIcon(deployButton);
|
BindButtonIcon(deployButton);
|
||||||
|
|
||||||
deployButton.GetKey = _ => ks.DeployKey;
|
|
||||||
deployButton.IsDisabled = () => { UpdateStateIfNecessary(); return !selectedDeploys.Any(Exts.IsTraitEnabled); };
|
deployButton.IsDisabled = () => { UpdateStateIfNecessary(); return !selectedDeploys.Any(Exts.IsTraitEnabled); };
|
||||||
deployButton.IsHighlighted = () => deployHighlighted > 0;
|
deployButton.IsHighlighted = () => deployHighlighted > 0;
|
||||||
deployButton.OnClick = PerformDeployOrderOnSelection;
|
deployButton.OnClick = PerformDeployOrderOnSelection;
|
||||||
@@ -158,7 +153,6 @@ namespace OpenRA.Mods.Common.Widgets
|
|||||||
{
|
{
|
||||||
BindButtonIcon(stopButton);
|
BindButtonIcon(stopButton);
|
||||||
|
|
||||||
stopButton.GetKey = _ => ks.StopKey;
|
|
||||||
stopButton.IsDisabled = () => { UpdateStateIfNecessary(); return stopDisabled; };
|
stopButton.IsDisabled = () => { UpdateStateIfNecessary(); return stopDisabled; };
|
||||||
stopButton.IsHighlighted = () => stopHighlighted > 0;
|
stopButton.IsHighlighted = () => stopHighlighted > 0;
|
||||||
stopButton.OnClick = () => PerformKeyboardOrderOnSelection(a => new Order("Stop", a, false));
|
stopButton.OnClick = () => PerformKeyboardOrderOnSelection(a => new Order("Stop", a, false));
|
||||||
|
|||||||
@@ -21,12 +21,9 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
|||||||
{
|
{
|
||||||
var sell = widget as ButtonWidget;
|
var sell = widget as ButtonWidget;
|
||||||
if (sell != null)
|
if (sell != null)
|
||||||
{
|
|
||||||
sell.GetKey = _ => Game.Settings.Keys.SellKey;
|
|
||||||
OrderButtonsChromeUtils.BindOrderButton<SellOrderGenerator>(world, sell, "sell");
|
OrderButtonsChromeUtils.BindOrderButton<SellOrderGenerator>(world, sell, "sell");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public class RepairOrderButtonLogic : ChromeLogic
|
public class RepairOrderButtonLogic : ChromeLogic
|
||||||
{
|
{
|
||||||
@@ -35,12 +32,9 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
|||||||
{
|
{
|
||||||
var repair = widget as ButtonWidget;
|
var repair = widget as ButtonWidget;
|
||||||
if (repair != null)
|
if (repair != null)
|
||||||
{
|
|
||||||
repair.GetKey = _ => Game.Settings.Keys.RepairKey;
|
|
||||||
OrderButtonsChromeUtils.BindOrderButton<RepairOrderGenerator>(world, repair, "repair");
|
OrderButtonsChromeUtils.BindOrderButton<RepairOrderGenerator>(world, repair, "repair");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public class PowerdownOrderButtonLogic : ChromeLogic
|
public class PowerdownOrderButtonLogic : ChromeLogic
|
||||||
{
|
{
|
||||||
@@ -49,12 +43,9 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
|||||||
{
|
{
|
||||||
var power = widget as ButtonWidget;
|
var power = widget as ButtonWidget;
|
||||||
if (power != null)
|
if (power != null)
|
||||||
{
|
|
||||||
power.GetKey = _ => Game.Settings.Keys.PowerDownKey;
|
|
||||||
OrderButtonsChromeUtils.BindOrderButton<PowerDownOrderGenerator>(world, power, "power");
|
OrderButtonsChromeUtils.BindOrderButton<PowerDownOrderGenerator>(world, power, "power");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public class BeaconOrderButtonLogic : ChromeLogic
|
public class BeaconOrderButtonLogic : ChromeLogic
|
||||||
{
|
{
|
||||||
@@ -63,12 +54,9 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
|||||||
{
|
{
|
||||||
var beacon = widget as ButtonWidget;
|
var beacon = widget as ButtonWidget;
|
||||||
if (beacon != null)
|
if (beacon != null)
|
||||||
{
|
|
||||||
beacon.GetKey = _ => Game.Settings.Keys.PlaceBeaconKey;
|
|
||||||
OrderButtonsChromeUtils.BindOrderButton<BeaconOrderGenerator>(world, beacon, "beacon");
|
OrderButtonsChromeUtils.BindOrderButton<BeaconOrderGenerator>(world, beacon, "beacon");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public class OrderButtonsChromeUtils
|
public class OrderButtonsChromeUtils
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -34,20 +34,10 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
|||||||
tabs.PickUpCompletedBuilding();
|
tabs.PickUpCompletedBuilding();
|
||||||
};
|
};
|
||||||
|
|
||||||
Func<ButtonWidget, Hotkey> getKey = _ => Hotkey.Invalid;
|
|
||||||
if (!string.IsNullOrEmpty(button.HotkeyName))
|
|
||||||
{
|
|
||||||
var ks = Game.Settings.Keys;
|
|
||||||
var field = ks.GetType().GetField(button.HotkeyName);
|
|
||||||
if (field != null)
|
|
||||||
getKey = _ => (Hotkey)field.GetValue(ks);
|
|
||||||
}
|
|
||||||
|
|
||||||
button.IsDisabled = () => tabs.Groups[button.ProductionGroup].Tabs.Count == 0;
|
button.IsDisabled = () => tabs.Groups[button.ProductionGroup].Tabs.Count == 0;
|
||||||
button.OnMouseUp = mi => selectTab(mi.Modifiers.HasModifier(Modifiers.Shift));
|
button.OnMouseUp = mi => selectTab(mi.Modifiers.HasModifier(Modifiers.Shift));
|
||||||
button.OnKeyPress = e => selectTab(e.Modifiers.HasModifier(Modifiers.Shift));
|
button.OnKeyPress = e => selectTab(e.Modifiers.HasModifier(Modifiers.Shift));
|
||||||
button.IsHighlighted = () => tabs.QueueGroup == button.ProductionGroup;
|
button.IsHighlighted = () => tabs.QueueGroup == button.ProductionGroup;
|
||||||
button.GetKey = getKey;
|
|
||||||
|
|
||||||
var chromeName = button.ProductionGroup.ToLowerInvariant();
|
var chromeName = button.ProductionGroup.ToLowerInvariant();
|
||||||
var icon = button.Get<ImageWidget>("ICON");
|
var icon = button.Get<ImageWidget>("ICON");
|
||||||
|
|||||||
@@ -46,18 +46,15 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
|||||||
var originalTimestep = world.Timestep;
|
var originalTimestep = world.Timestep;
|
||||||
|
|
||||||
var pauseButton = widget.Get<ButtonWidget>("BUTTON_PAUSE");
|
var pauseButton = widget.Get<ButtonWidget>("BUTTON_PAUSE");
|
||||||
pauseButton.GetKey = _ => Game.Settings.Keys.PauseKey;
|
|
||||||
pauseButton.IsVisible = () => world.Timestep != 0 && orderManager.NetFrameNumber < replayNetTicks;
|
pauseButton.IsVisible = () => world.Timestep != 0 && orderManager.NetFrameNumber < replayNetTicks;
|
||||||
pauseButton.OnClick = () => world.Timestep = 0;
|
pauseButton.OnClick = () => world.Timestep = 0;
|
||||||
|
|
||||||
var playButton = widget.Get<ButtonWidget>("BUTTON_PLAY");
|
var playButton = widget.Get<ButtonWidget>("BUTTON_PLAY");
|
||||||
playButton.GetKey = _ => Game.Settings.Keys.PauseKey;
|
|
||||||
playButton.IsVisible = () => world.Timestep == 0 || orderManager.NetFrameNumber >= replayNetTicks;
|
playButton.IsVisible = () => world.Timestep == 0 || orderManager.NetFrameNumber >= replayNetTicks;
|
||||||
playButton.OnClick = () => world.Timestep = (int)Math.Ceiling(originalTimestep * multipliers[speed]);
|
playButton.OnClick = () => world.Timestep = (int)Math.Ceiling(originalTimestep * multipliers[speed]);
|
||||||
playButton.IsDisabled = () => orderManager.NetFrameNumber >= replayNetTicks;
|
playButton.IsDisabled = () => orderManager.NetFrameNumber >= replayNetTicks;
|
||||||
|
|
||||||
var slowButton = widget.Get<ButtonWidget>("BUTTON_SLOW");
|
var slowButton = widget.Get<ButtonWidget>("BUTTON_SLOW");
|
||||||
slowButton.GetKey = _ => Game.Settings.Keys.ReplaySpeedSlowKey;
|
|
||||||
slowButton.IsHighlighted = () => speed == PlaybackSpeed.Slow;
|
slowButton.IsHighlighted = () => speed == PlaybackSpeed.Slow;
|
||||||
slowButton.IsDisabled = () => orderManager.NetFrameNumber >= replayNetTicks;
|
slowButton.IsDisabled = () => orderManager.NetFrameNumber >= replayNetTicks;
|
||||||
slowButton.OnClick = () =>
|
slowButton.OnClick = () =>
|
||||||
@@ -68,7 +65,6 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
|||||||
};
|
};
|
||||||
|
|
||||||
var normalSpeedButton = widget.Get<ButtonWidget>("BUTTON_REGULAR");
|
var normalSpeedButton = widget.Get<ButtonWidget>("BUTTON_REGULAR");
|
||||||
normalSpeedButton.GetKey = _ => Game.Settings.Keys.ReplaySpeedRegularKey;
|
|
||||||
normalSpeedButton.IsHighlighted = () => speed == PlaybackSpeed.Regular;
|
normalSpeedButton.IsHighlighted = () => speed == PlaybackSpeed.Regular;
|
||||||
normalSpeedButton.IsDisabled = () => orderManager.NetFrameNumber >= replayNetTicks;
|
normalSpeedButton.IsDisabled = () => orderManager.NetFrameNumber >= replayNetTicks;
|
||||||
normalSpeedButton.OnClick = () =>
|
normalSpeedButton.OnClick = () =>
|
||||||
@@ -79,7 +75,6 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
|||||||
};
|
};
|
||||||
|
|
||||||
var fastButton = widget.Get<ButtonWidget>("BUTTON_FAST");
|
var fastButton = widget.Get<ButtonWidget>("BUTTON_FAST");
|
||||||
fastButton.GetKey = _ => Game.Settings.Keys.ReplaySpeedFastKey;
|
|
||||||
fastButton.IsHighlighted = () => speed == PlaybackSpeed.Fast;
|
fastButton.IsHighlighted = () => speed == PlaybackSpeed.Fast;
|
||||||
fastButton.IsDisabled = () => orderManager.NetFrameNumber >= replayNetTicks;
|
fastButton.IsDisabled = () => orderManager.NetFrameNumber >= replayNetTicks;
|
||||||
fastButton.OnClick = () =>
|
fastButton.OnClick = () =>
|
||||||
@@ -90,7 +85,6 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
|||||||
};
|
};
|
||||||
|
|
||||||
var maximumButton = widget.Get<ButtonWidget>("BUTTON_MAXIMUM");
|
var maximumButton = widget.Get<ButtonWidget>("BUTTON_MAXIMUM");
|
||||||
maximumButton.GetKey = _ => Game.Settings.Keys.ReplaySpeedMaxKey;
|
|
||||||
maximumButton.IsHighlighted = () => speed == PlaybackSpeed.Maximum;
|
maximumButton.IsHighlighted = () => speed == PlaybackSpeed.Maximum;
|
||||||
maximumButton.IsDisabled = () => orderManager.NetFrameNumber >= replayNetTicks;
|
maximumButton.IsDisabled = () => orderManager.NetFrameNumber >= replayNetTicks;
|
||||||
maximumButton.OnClick = () =>
|
maximumButton.OnClick = () =>
|
||||||
|
|||||||
@@ -27,32 +27,30 @@ namespace OpenRA.Mods.Common.Widgets
|
|||||||
public StanceSelectorLogic(Widget widget, World world)
|
public StanceSelectorLogic(Widget widget, World world)
|
||||||
{
|
{
|
||||||
this.world = world;
|
this.world = world;
|
||||||
var ks = Game.Settings.Keys;
|
|
||||||
|
|
||||||
var holdFireButton = widget.GetOrNull<ButtonWidget>("STANCE_HOLDFIRE");
|
var holdFireButton = widget.GetOrNull<ButtonWidget>("STANCE_HOLDFIRE");
|
||||||
if (holdFireButton != null)
|
if (holdFireButton != null)
|
||||||
BindStanceButton(holdFireButton, UnitStance.HoldFire, _ => ks.StanceHoldFireKey);
|
BindStanceButton(holdFireButton, UnitStance.HoldFire);
|
||||||
|
|
||||||
var returnFireButton = widget.GetOrNull<ButtonWidget>("STANCE_RETURNFIRE");
|
var returnFireButton = widget.GetOrNull<ButtonWidget>("STANCE_RETURNFIRE");
|
||||||
if (returnFireButton != null)
|
if (returnFireButton != null)
|
||||||
BindStanceButton(returnFireButton, UnitStance.ReturnFire, _ => ks.StanceReturnFireKey);
|
BindStanceButton(returnFireButton, UnitStance.ReturnFire);
|
||||||
|
|
||||||
var defendButton = widget.GetOrNull<ButtonWidget>("STANCE_DEFEND");
|
var defendButton = widget.GetOrNull<ButtonWidget>("STANCE_DEFEND");
|
||||||
if (defendButton != null)
|
if (defendButton != null)
|
||||||
BindStanceButton(defendButton, UnitStance.Defend, _ => ks.StanceDefendKey);
|
BindStanceButton(defendButton, UnitStance.Defend);
|
||||||
|
|
||||||
var attackAnythingButton = widget.GetOrNull<ButtonWidget>("STANCE_ATTACKANYTHING");
|
var attackAnythingButton = widget.GetOrNull<ButtonWidget>("STANCE_ATTACKANYTHING");
|
||||||
if (attackAnythingButton != null)
|
if (attackAnythingButton != null)
|
||||||
BindStanceButton(attackAnythingButton, UnitStance.AttackAnything, _ => ks.StanceAttackAnythingKey);
|
BindStanceButton(attackAnythingButton, UnitStance.AttackAnything);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BindStanceButton(ButtonWidget button, UnitStance stance, Func<ButtonWidget, Hotkey> getHotkey)
|
void BindStanceButton(ButtonWidget button, UnitStance stance)
|
||||||
{
|
{
|
||||||
var icon = button.Get<ImageWidget>("ICON");
|
var icon = button.Get<ImageWidget>("ICON");
|
||||||
icon.GetImageName = () => button.IsDisabled() ? icon.ImageName + "-disabled" :
|
icon.GetImageName = () => button.IsDisabled() ? icon.ImageName + "-disabled" :
|
||||||
button.IsHighlighted() ? icon.ImageName + "-active" : icon.ImageName;
|
button.IsHighlighted() ? icon.ImageName + "-active" : icon.ImageName;
|
||||||
|
|
||||||
button.GetKey = getHotkey;
|
|
||||||
button.IsDisabled = () => { UpdateStateIfNecessary(); return !actorStances.Any(); };
|
button.IsDisabled = () => { UpdateStateIfNecessary(); return !actorStances.Any(); };
|
||||||
button.IsHighlighted = () => actorStances.Any(
|
button.IsHighlighted = () => actorStances.Any(
|
||||||
at => !at.Trait.IsTraitDisabled && at.Trait.PredictedStance == stance);
|
at => !at.Trait.IsTraitDisabled && at.Trait.PredictedStance == stance);
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ namespace OpenRA.Mods.Common.Widgets
|
|||||||
public class ProductionTypeButtonWidget : ButtonWidget
|
public class ProductionTypeButtonWidget : ButtonWidget
|
||||||
{
|
{
|
||||||
public readonly string ProductionGroup;
|
public readonly string ProductionGroup;
|
||||||
public readonly string HotkeyName;
|
|
||||||
|
|
||||||
[ObjectCreator.UseCtor]
|
[ObjectCreator.UseCtor]
|
||||||
public ProductionTypeButtonWidget(ModData modData)
|
public ProductionTypeButtonWidget(ModData modData)
|
||||||
|
|||||||
@@ -450,6 +450,7 @@ Container@EDITOR_WORLD_ROOT:
|
|||||||
Width: 70
|
Width: 70
|
||||||
Height: 25
|
Height: 25
|
||||||
Font: Bold
|
Font: Bold
|
||||||
|
Key: TogglePixelDouble
|
||||||
Button@COPYPASTE_BUTTON:
|
Button@COPYPASTE_BUTTON:
|
||||||
X: WINDOW_RIGHT - 390
|
X: WINDOW_RIGHT - 390
|
||||||
Y: 5
|
Y: 5
|
||||||
|
|||||||
@@ -141,6 +141,9 @@ Container@OBSERVER_WIDGETS:
|
|||||||
Y: 10
|
Y: 10
|
||||||
Width: 26
|
Width: 26
|
||||||
Height: 26
|
Height: 26
|
||||||
|
Key: Pause
|
||||||
|
TooltipText: Pause
|
||||||
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
IgnoreChildMouseOver: true
|
IgnoreChildMouseOver: true
|
||||||
Children:
|
Children:
|
||||||
Image@IMAGE_PAUSE:
|
Image@IMAGE_PAUSE:
|
||||||
@@ -155,6 +158,9 @@ Container@OBSERVER_WIDGETS:
|
|||||||
Y: 10
|
Y: 10
|
||||||
Width: 26
|
Width: 26
|
||||||
Height: 26
|
Height: 26
|
||||||
|
Key: Pause
|
||||||
|
TooltipText: Play
|
||||||
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
IgnoreChildMouseOver: true
|
IgnoreChildMouseOver: true
|
||||||
Children:
|
Children:
|
||||||
Image@IMAGE_PLAY:
|
Image@IMAGE_PLAY:
|
||||||
@@ -170,6 +176,7 @@ Container@OBSERVER_WIDGETS:
|
|||||||
Width: 36
|
Width: 36
|
||||||
Height: 20
|
Height: 20
|
||||||
BaseLine: 1
|
BaseLine: 1
|
||||||
|
Key: ReplaySpeedSlow
|
||||||
TooltipText: Slow speed
|
TooltipText: Slow speed
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
@@ -181,6 +188,7 @@ Container@OBSERVER_WIDGETS:
|
|||||||
Width: 38
|
Width: 38
|
||||||
Height: 20
|
Height: 20
|
||||||
BaseLine: 1
|
BaseLine: 1
|
||||||
|
Key: ReplaySpeedRegular
|
||||||
TooltipText: Regular speed
|
TooltipText: Regular speed
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
@@ -192,6 +200,7 @@ Container@OBSERVER_WIDGETS:
|
|||||||
Width: 38
|
Width: 38
|
||||||
Height: 20
|
Height: 20
|
||||||
BaseLine: 1
|
BaseLine: 1
|
||||||
|
Key: ReplaySpeedFast
|
||||||
TooltipText: Fast speed
|
TooltipText: Fast speed
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
@@ -203,6 +212,7 @@ Container@OBSERVER_WIDGETS:
|
|||||||
Width: 38
|
Width: 38
|
||||||
Height: 20
|
Height: 20
|
||||||
BaseLine: 1
|
BaseLine: 1
|
||||||
|
Key: ReplaySpeedMax
|
||||||
TooltipText: Maximum speed
|
TooltipText: Maximum speed
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
@@ -270,6 +280,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Width: 34
|
Width: 34
|
||||||
Height: 34
|
Height: 34
|
||||||
Background: command-button
|
Background: command-button
|
||||||
|
Key: AttackMove
|
||||||
DisableKeySound: true
|
DisableKeySound: true
|
||||||
TooltipText: Attack Move
|
TooltipText: Attack Move
|
||||||
TooltipDesc: Selected units will move to the desired location\nand attack any enemies they encounter en route.\n\nLeft-click icon then right-click on target location.
|
TooltipDesc: Selected units will move to the desired location\nand attack any enemies they encounter en route.\n\nLeft-click icon then right-click on target location.
|
||||||
@@ -320,6 +331,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Width: 34
|
Width: 34
|
||||||
Height: 34
|
Height: 34
|
||||||
Background: command-button
|
Background: command-button
|
||||||
|
Key: Guard
|
||||||
DisableKeySound: true
|
DisableKeySound: true
|
||||||
TooltipText: Guard
|
TooltipText: Guard
|
||||||
TooltipDesc: Selected units will follow the targeted unit.\n\nLeft-click icon then right-click on target unit.
|
TooltipDesc: Selected units will follow the targeted unit.\n\nLeft-click icon then right-click on target unit.
|
||||||
@@ -336,6 +348,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Width: 34
|
Width: 34
|
||||||
Height: 34
|
Height: 34
|
||||||
Background: command-button
|
Background: command-button
|
||||||
|
Key: Deploy
|
||||||
DisableKeyRepeat: true
|
DisableKeyRepeat: true
|
||||||
DisableKeySound: true
|
DisableKeySound: true
|
||||||
TooltipText: Deploy
|
TooltipText: Deploy
|
||||||
@@ -353,6 +366,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Width: 34
|
Width: 34
|
||||||
Height: 34
|
Height: 34
|
||||||
Background: command-button
|
Background: command-button
|
||||||
|
Key: Scatter
|
||||||
DisableKeyRepeat: true
|
DisableKeyRepeat: true
|
||||||
DisableKeySound: true
|
DisableKeySound: true
|
||||||
TooltipText: Scatter
|
TooltipText: Scatter
|
||||||
@@ -370,6 +384,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Width: 34
|
Width: 34
|
||||||
Height: 34
|
Height: 34
|
||||||
Background: command-button
|
Background: command-button
|
||||||
|
Key: Stop
|
||||||
DisableKeyRepeat: true
|
DisableKeyRepeat: true
|
||||||
DisableKeySound: true
|
DisableKeySound: true
|
||||||
TooltipText: Stop
|
TooltipText: Stop
|
||||||
@@ -412,6 +427,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Width: 34
|
Width: 34
|
||||||
Height: 26
|
Height: 26
|
||||||
Background: stance-button
|
Background: stance-button
|
||||||
|
Key: StanceAttackAnything
|
||||||
DisableKeyRepeat: true
|
DisableKeyRepeat: true
|
||||||
DisableKeySound: true
|
DisableKeySound: true
|
||||||
TooltipText: Attack Anything Stance
|
TooltipText: Attack Anything Stance
|
||||||
@@ -429,6 +445,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Width: 34
|
Width: 34
|
||||||
Height: 26
|
Height: 26
|
||||||
Background: stance-button
|
Background: stance-button
|
||||||
|
Key: StanceDefend
|
||||||
DisableKeyRepeat: true
|
DisableKeyRepeat: true
|
||||||
DisableKeySound: true
|
DisableKeySound: true
|
||||||
TooltipText: Defend Stance
|
TooltipText: Defend Stance
|
||||||
@@ -446,6 +463,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Width: 34
|
Width: 34
|
||||||
Height: 26
|
Height: 26
|
||||||
Background: stance-button
|
Background: stance-button
|
||||||
|
Key: StanceReturnFire
|
||||||
DisableKeyRepeat: true
|
DisableKeyRepeat: true
|
||||||
DisableKeySound: true
|
DisableKeySound: true
|
||||||
TooltipText: Return Fire Stance
|
TooltipText: Return Fire Stance
|
||||||
@@ -463,6 +481,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Width: 34
|
Width: 34
|
||||||
Height: 26
|
Height: 26
|
||||||
Background: stance-button
|
Background: stance-button
|
||||||
|
Key: StanceHoldFire
|
||||||
DisableKeyRepeat: true
|
DisableKeyRepeat: true
|
||||||
DisableKeySound: true
|
DisableKeySound: true
|
||||||
TooltipText: Hold Fire Stance
|
TooltipText: Hold Fire Stance
|
||||||
@@ -483,12 +502,12 @@ Container@PLAYER_WIDGETS:
|
|||||||
Background: panel-black
|
Background: panel-black
|
||||||
Children:
|
Children:
|
||||||
MenuButton@OPTIONS_BUTTON:
|
MenuButton@OPTIONS_BUTTON:
|
||||||
Key: escape
|
|
||||||
X: 22
|
X: 22
|
||||||
Y: 0 - 24
|
Y: 0 - 24
|
||||||
Width: 30
|
Width: 30
|
||||||
Height: 25
|
Height: 25
|
||||||
Font: Bold
|
Font: Bold
|
||||||
|
Key: escape
|
||||||
TooltipText: Menu
|
TooltipText: Menu
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
DisableWorldSounds: true
|
DisableWorldSounds: true
|
||||||
@@ -505,6 +524,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Width: 30
|
Width: 30
|
||||||
Height: 25
|
Height: 25
|
||||||
Font: Bold
|
Font: Bold
|
||||||
|
Key: PlaceBeacon
|
||||||
TooltipText: Place Beacon
|
TooltipText: Place Beacon
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
Children:
|
Children:
|
||||||
@@ -519,6 +539,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Width: 30
|
Width: 30
|
||||||
Height: 25
|
Height: 25
|
||||||
Font: Bold
|
Font: Bold
|
||||||
|
Key: Sell
|
||||||
TooltipText: Sell
|
TooltipText: Sell
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
Children:
|
Children:
|
||||||
@@ -533,6 +554,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Width: 30
|
Width: 30
|
||||||
Height: 25
|
Height: 25
|
||||||
Font: Bold
|
Font: Bold
|
||||||
|
Key: Repair
|
||||||
TooltipText: Repair
|
TooltipText: Repair
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
Children:
|
Children:
|
||||||
@@ -614,7 +636,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
TooltipText: Buildings
|
TooltipText: Buildings
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
ProductionGroup: Building
|
ProductionGroup: Building
|
||||||
HotkeyName: ProductionTypeBuildingKey
|
Key: ProductionTypeBuilding
|
||||||
Children:
|
Children:
|
||||||
Image@ICON:
|
Image@ICON:
|
||||||
X: 7
|
X: 7
|
||||||
@@ -627,7 +649,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
TooltipText: Support
|
TooltipText: Support
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
ProductionGroup: Defence
|
ProductionGroup: Defence
|
||||||
HotkeyName: ProductionTypeDefenseKey
|
Key: ProductionTypeDefense
|
||||||
Children:
|
Children:
|
||||||
Image@ICON:
|
Image@ICON:
|
||||||
X: 7
|
X: 7
|
||||||
@@ -640,7 +662,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
TooltipText: Infantry
|
TooltipText: Infantry
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
ProductionGroup: Infantry
|
ProductionGroup: Infantry
|
||||||
HotkeyName: ProductionTypeInfantryKey
|
Key: ProductionTypeInfantry
|
||||||
Children:
|
Children:
|
||||||
Image@ICON:
|
Image@ICON:
|
||||||
X: 7
|
X: 7
|
||||||
@@ -653,7 +675,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
TooltipText: Vehicles
|
TooltipText: Vehicles
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
ProductionGroup: Vehicle
|
ProductionGroup: Vehicle
|
||||||
HotkeyName: ProductionTypeVehicleKey
|
Key: ProductionTypeVehicle
|
||||||
Children:
|
Children:
|
||||||
Image@ICON:
|
Image@ICON:
|
||||||
X: 7
|
X: 7
|
||||||
@@ -666,7 +688,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
TooltipText: Aircraft
|
TooltipText: Aircraft
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
ProductionGroup: Aircraft
|
ProductionGroup: Aircraft
|
||||||
HotkeyName: ProductionTypeAircraftKey
|
Key: ProductionTypeAircraft
|
||||||
Children:
|
Children:
|
||||||
Image@ICON:
|
Image@ICON:
|
||||||
X: 7
|
X: 7
|
||||||
|
|||||||
@@ -431,6 +431,7 @@ Container@EDITOR_WORLD_ROOT:
|
|||||||
Width: 70
|
Width: 70
|
||||||
Height: 25
|
Height: 25
|
||||||
Font: Bold
|
Font: Bold
|
||||||
|
Key: TogglePixelDouble
|
||||||
Label@COORDINATE_LABEL:
|
Label@COORDINATE_LABEL:
|
||||||
X: 485
|
X: 485
|
||||||
Width: 50
|
Width: 50
|
||||||
|
|||||||
@@ -94,6 +94,9 @@ Container@OBSERVER_WIDGETS:
|
|||||||
Y: 10
|
Y: 10
|
||||||
Width: 26
|
Width: 26
|
||||||
Height: 26
|
Height: 26
|
||||||
|
Key: Pause
|
||||||
|
TooltipText: Pause
|
||||||
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
IgnoreChildMouseOver: true
|
IgnoreChildMouseOver: true
|
||||||
Children:
|
Children:
|
||||||
Image@IMAGE_PAUSE:
|
Image@IMAGE_PAUSE:
|
||||||
@@ -107,7 +110,10 @@ Container@OBSERVER_WIDGETS:
|
|||||||
Y: 10
|
Y: 10
|
||||||
Width: 26
|
Width: 26
|
||||||
Height: 26
|
Height: 26
|
||||||
|
Key: Pause
|
||||||
IgnoreChildMouseOver: true
|
IgnoreChildMouseOver: true
|
||||||
|
TooltipText: Play
|
||||||
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
Children:
|
Children:
|
||||||
Image@IMAGE_PLAY:
|
Image@IMAGE_PLAY:
|
||||||
Width: 25
|
Width: 25
|
||||||
@@ -120,9 +126,9 @@ Container@OBSERVER_WIDGETS:
|
|||||||
Width: 36
|
Width: 36
|
||||||
Height: 20
|
Height: 20
|
||||||
BaseLine: 1
|
BaseLine: 1
|
||||||
|
Key: ReplaySpeedSlow
|
||||||
TooltipText: Slow speed
|
TooltipText: Slow speed
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
VisualHeight: 0
|
|
||||||
Text: 50%
|
Text: 50%
|
||||||
Font: TinyBold
|
Font: TinyBold
|
||||||
Button@BUTTON_REGULAR:
|
Button@BUTTON_REGULAR:
|
||||||
@@ -131,9 +137,9 @@ Container@OBSERVER_WIDGETS:
|
|||||||
Width: 38
|
Width: 38
|
||||||
Height: 20
|
Height: 20
|
||||||
BaseLine: 1
|
BaseLine: 1
|
||||||
|
Key: ReplaySpeedRegular
|
||||||
TooltipText: Regular speed
|
TooltipText: Regular speed
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
VisualHeight: 0
|
|
||||||
Text: 100%
|
Text: 100%
|
||||||
Font: TinyBold
|
Font: TinyBold
|
||||||
Button@BUTTON_FAST:
|
Button@BUTTON_FAST:
|
||||||
@@ -142,9 +148,9 @@ Container@OBSERVER_WIDGETS:
|
|||||||
Width: 38
|
Width: 38
|
||||||
Height: 20
|
Height: 20
|
||||||
BaseLine: 1
|
BaseLine: 1
|
||||||
|
Key: ReplaySpeedFast
|
||||||
TooltipText: Fast speed
|
TooltipText: Fast speed
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
VisualHeight: 0
|
|
||||||
Text: 200%
|
Text: 200%
|
||||||
Font: TinyBold
|
Font: TinyBold
|
||||||
Button@BUTTON_MAXIMUM:
|
Button@BUTTON_MAXIMUM:
|
||||||
@@ -153,8 +159,8 @@ Container@OBSERVER_WIDGETS:
|
|||||||
Width: 38
|
Width: 38
|
||||||
Height: 20
|
Height: 20
|
||||||
BaseLine: 1
|
BaseLine: 1
|
||||||
|
Key: ReplaySpeedMax
|
||||||
TooltipText: Maximum speed
|
TooltipText: Maximum speed
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
VisualHeight: 0
|
|
||||||
Text: MAX
|
Text: MAX
|
||||||
Font: TinyBold
|
Font: TinyBold
|
||||||
|
|||||||
@@ -43,6 +43,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Height: 41
|
Height: 41
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
Background: command-button
|
Background: command-button
|
||||||
|
Key: AttackMove
|
||||||
DisableKeySound: true
|
DisableKeySound: true
|
||||||
TooltipText: Attack Move
|
TooltipText: Attack Move
|
||||||
TooltipDesc: Selected units will move to the desired location\nand attack any enemies they encounter en route.\n\nLeft-click icon then right-click on target location.
|
TooltipDesc: Selected units will move to the desired location\nand attack any enemies they encounter en route.\n\nLeft-click icon then right-click on target location.
|
||||||
@@ -93,6 +94,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Height: 41
|
Height: 41
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
Background: command-button
|
Background: command-button
|
||||||
|
Key: Guard
|
||||||
DisableKeySound: true
|
DisableKeySound: true
|
||||||
TooltipText: Guard
|
TooltipText: Guard
|
||||||
TooltipDesc: Selected units will follow the targeted unit.\n\nLeft-click icon then right-click on target unit.
|
TooltipDesc: Selected units will follow the targeted unit.\n\nLeft-click icon then right-click on target unit.
|
||||||
@@ -109,6 +111,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Height: 41
|
Height: 41
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
Background: command-button
|
Background: command-button
|
||||||
|
Key: Deploy
|
||||||
DisableKeyRepeat: true
|
DisableKeyRepeat: true
|
||||||
DisableKeySound: true
|
DisableKeySound: true
|
||||||
TooltipText: Deploy
|
TooltipText: Deploy
|
||||||
@@ -126,6 +129,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Height: 41
|
Height: 41
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
Background: command-button
|
Background: command-button
|
||||||
|
Key: Scatter
|
||||||
DisableKeyRepeat: true
|
DisableKeyRepeat: true
|
||||||
DisableKeySound: true
|
DisableKeySound: true
|
||||||
TooltipText: Scatter
|
TooltipText: Scatter
|
||||||
@@ -143,6 +147,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Height: 41
|
Height: 41
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
Background: command-button
|
Background: command-button
|
||||||
|
Key: Stop
|
||||||
DisableKeyRepeat: true
|
DisableKeyRepeat: true
|
||||||
DisableKeySound: true
|
DisableKeySound: true
|
||||||
TooltipText: Stop
|
TooltipText: Stop
|
||||||
@@ -183,6 +188,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Height: 26
|
Height: 26
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
Background:
|
Background:
|
||||||
|
Key: StanceAttackAnything
|
||||||
DisableKeyRepeat: true
|
DisableKeyRepeat: true
|
||||||
DisableKeySound: true
|
DisableKeySound: true
|
||||||
TooltipText: Attack Anything Stance
|
TooltipText: Attack Anything Stance
|
||||||
@@ -200,6 +206,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Height: 26
|
Height: 26
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
Background:
|
Background:
|
||||||
|
Key: StanceDefend
|
||||||
DisableKeyRepeat: true
|
DisableKeyRepeat: true
|
||||||
DisableKeySound: true
|
DisableKeySound: true
|
||||||
TooltipText: Defend Stance
|
TooltipText: Defend Stance
|
||||||
@@ -217,6 +224,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Height: 26
|
Height: 26
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
Background:
|
Background:
|
||||||
|
Key: StanceReturnFire
|
||||||
DisableKeyRepeat: true
|
DisableKeyRepeat: true
|
||||||
DisableKeySound: true
|
DisableKeySound: true
|
||||||
TooltipText: Return Fire Stance
|
TooltipText: Return Fire Stance
|
||||||
@@ -234,6 +242,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Height: 26
|
Height: 26
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
Background:
|
Background:
|
||||||
|
Key: StanceHoldFire
|
||||||
DisableKeyRepeat: true
|
DisableKeyRepeat: true
|
||||||
DisableKeySound: true
|
DisableKeySound: true
|
||||||
TooltipText: Hold Fire Stance
|
TooltipText: Hold Fire Stance
|
||||||
@@ -260,11 +269,11 @@ Container@PLAYER_WIDGETS:
|
|||||||
Y: 236
|
Y: 236
|
||||||
Children:
|
Children:
|
||||||
MenuButton@DEBUG_BUTTON:
|
MenuButton@DEBUG_BUTTON:
|
||||||
Key: escape Shift
|
|
||||||
X: 4
|
X: 4
|
||||||
Width: 34
|
Width: 34
|
||||||
Height: 35
|
Height: 35
|
||||||
Background:
|
Background:
|
||||||
|
Key: escape Shift
|
||||||
TooltipText: Debug Menu
|
TooltipText: Debug Menu
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
DisableWorldSounds: true
|
DisableWorldSounds: true
|
||||||
@@ -281,6 +290,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Width: 34
|
Width: 34
|
||||||
Height: 35
|
Height: 35
|
||||||
Background:
|
Background:
|
||||||
|
Key: Repair
|
||||||
TooltipText: Repair
|
TooltipText: Repair
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
@@ -295,6 +305,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Width: 34
|
Width: 34
|
||||||
Height: 35
|
Height: 35
|
||||||
Background:
|
Background:
|
||||||
|
Key: Sell
|
||||||
TooltipText: Sell
|
TooltipText: Sell
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
@@ -309,6 +320,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Width: 36
|
Width: 36
|
||||||
Height: 35
|
Height: 35
|
||||||
Background:
|
Background:
|
||||||
|
Key: PlaceBeacon
|
||||||
TooltipText: Place Beacon
|
TooltipText: Place Beacon
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
@@ -323,6 +335,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Width: 36
|
Width: 36
|
||||||
Height: 35
|
Height: 35
|
||||||
Background:
|
Background:
|
||||||
|
Key: PowerDown
|
||||||
TooltipText: Power Down
|
TooltipText: Power Down
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
@@ -491,7 +504,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
TooltipText: Buildings
|
TooltipText: Buildings
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
ProductionGroup: Building
|
ProductionGroup: Building
|
||||||
HotkeyName: ProductionTypeBuildingKey
|
Key: ProductionTypeBuilding
|
||||||
Children:
|
Children:
|
||||||
Image@ICON:
|
Image@ICON:
|
||||||
X: 5
|
X: 5
|
||||||
@@ -506,7 +519,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
TooltipText: Upgrades
|
TooltipText: Upgrades
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
ProductionGroup: Upgrade
|
ProductionGroup: Upgrade
|
||||||
HotkeyName: ProductionTypeUpgradeKey
|
Key: ProductionTypeUpgrade
|
||||||
Children:
|
Children:
|
||||||
Image@ICON:
|
Image@ICON:
|
||||||
X: 5
|
X: 5
|
||||||
@@ -521,7 +534,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
TooltipText: Infantry
|
TooltipText: Infantry
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
ProductionGroup: Infantry
|
ProductionGroup: Infantry
|
||||||
HotkeyName: ProductionTypeInfantryKey
|
Key: ProductionTypeInfantry
|
||||||
Children:
|
Children:
|
||||||
Image@ICON:
|
Image@ICON:
|
||||||
X: 5
|
X: 5
|
||||||
@@ -536,7 +549,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
TooltipText: Light Vehicles
|
TooltipText: Light Vehicles
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
ProductionGroup: Vehicle
|
ProductionGroup: Vehicle
|
||||||
HotkeyName: ProductionTypeVehicleKey
|
Key: ProductionTypeVehicle
|
||||||
Children:
|
Children:
|
||||||
Image@ICON:
|
Image@ICON:
|
||||||
X: 5
|
X: 5
|
||||||
@@ -551,7 +564,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
TooltipText: Heavy Vehicles
|
TooltipText: Heavy Vehicles
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
ProductionGroup: Armor
|
ProductionGroup: Armor
|
||||||
HotkeyName: ProductionTypeTankKey
|
Key: ProductionTypeTank
|
||||||
Children:
|
Children:
|
||||||
Image@ICON:
|
Image@ICON:
|
||||||
X: 5
|
X: 5
|
||||||
@@ -566,7 +579,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
TooltipText: Aircraft
|
TooltipText: Aircraft
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
ProductionGroup: Aircraft
|
ProductionGroup: Aircraft
|
||||||
HotkeyName: ProductionTypeAircraftKey
|
Key: ProductionTypeAircraft
|
||||||
Children:
|
Children:
|
||||||
Image@ICON:
|
Image@ICON:
|
||||||
X: 5
|
X: 5
|
||||||
@@ -581,7 +594,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
TooltipText: Starport
|
TooltipText: Starport
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
ProductionGroup: Starport
|
ProductionGroup: Starport
|
||||||
HotkeyName: ProductionTypeMerchantKey
|
Key: ProductionTypeMerchant
|
||||||
Children:
|
Children:
|
||||||
Image@ICON:
|
Image@ICON:
|
||||||
X: 5
|
X: 5
|
||||||
|
|||||||
@@ -128,6 +128,7 @@ Container@OBSERVER_WIDGETS:
|
|||||||
Width: 28
|
Width: 28
|
||||||
Height: 28
|
Height: 28
|
||||||
Background: sidebar-button-observer
|
Background: sidebar-button-observer
|
||||||
|
Key: Pause
|
||||||
TooltipText: Pause
|
TooltipText: Pause
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
@@ -143,6 +144,7 @@ Container@OBSERVER_WIDGETS:
|
|||||||
Width: 28
|
Width: 28
|
||||||
Height: 28
|
Height: 28
|
||||||
Background: sidebar-button-observer
|
Background: sidebar-button-observer
|
||||||
|
Key: Pause
|
||||||
TooltipText: Play
|
TooltipText: Play
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
@@ -159,6 +161,7 @@ Container@OBSERVER_WIDGETS:
|
|||||||
Height: 22
|
Height: 22
|
||||||
BaseLine: 1
|
BaseLine: 1
|
||||||
Background: sidebar-button-observer
|
Background: sidebar-button-observer
|
||||||
|
Key: ReplaySpeedSlow
|
||||||
TooltipText: Slow speed
|
TooltipText: Slow speed
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
@@ -171,6 +174,7 @@ Container@OBSERVER_WIDGETS:
|
|||||||
Height: 22
|
Height: 22
|
||||||
BaseLine: 1
|
BaseLine: 1
|
||||||
Background: sidebar-button-observer
|
Background: sidebar-button-observer
|
||||||
|
Key: ReplaySpeedRegular
|
||||||
TooltipText: Regular speed
|
TooltipText: Regular speed
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
@@ -183,6 +187,7 @@ Container@OBSERVER_WIDGETS:
|
|||||||
Height: 22
|
Height: 22
|
||||||
BaseLine: 1
|
BaseLine: 1
|
||||||
Background: sidebar-button-observer
|
Background: sidebar-button-observer
|
||||||
|
Key: ReplaySpeedFast
|
||||||
TooltipText: Fast speed
|
TooltipText: Fast speed
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
@@ -195,6 +200,7 @@ Container@OBSERVER_WIDGETS:
|
|||||||
Height: 22
|
Height: 22
|
||||||
BaseLine: 1
|
BaseLine: 1
|
||||||
Background: sidebar-button-observer
|
Background: sidebar-button-observer
|
||||||
|
Key: ReplaySpeedMax
|
||||||
TooltipText: Maximum speed
|
TooltipText: Maximum speed
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Height: 26
|
Height: 26
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
Background: command-button
|
Background: command-button
|
||||||
|
Key: AttackMove
|
||||||
DisableKeySound: true
|
DisableKeySound: true
|
||||||
TooltipText: Attack Move
|
TooltipText: Attack Move
|
||||||
TooltipDesc: Selected units will move to the desired location\nand attack any enemies they encounter en route.\n\nLeft-click icon then right-click on target location.
|
TooltipDesc: Selected units will move to the desired location\nand attack any enemies they encounter en route.\n\nLeft-click icon then right-click on target location.
|
||||||
@@ -102,6 +103,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Height: 26
|
Height: 26
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
Background: command-button
|
Background: command-button
|
||||||
|
Key: Guard
|
||||||
DisableKeySound: true
|
DisableKeySound: true
|
||||||
TooltipText: Guard
|
TooltipText: Guard
|
||||||
TooltipDesc: Selected units will follow the targeted unit.\n\nLeft-click icon then right-click on target unit.
|
TooltipDesc: Selected units will follow the targeted unit.\n\nLeft-click icon then right-click on target unit.
|
||||||
@@ -119,6 +121,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Height: 26
|
Height: 26
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
Background: command-button
|
Background: command-button
|
||||||
|
Key: Deploy
|
||||||
DisableKeyRepeat: true
|
DisableKeyRepeat: true
|
||||||
DisableKeySound: true
|
DisableKeySound: true
|
||||||
TooltipText: Deploy
|
TooltipText: Deploy
|
||||||
@@ -137,6 +140,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Height: 26
|
Height: 26
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
Background: command-button
|
Background: command-button
|
||||||
|
Key: Scatter
|
||||||
DisableKeyRepeat: true
|
DisableKeyRepeat: true
|
||||||
DisableKeySound: true
|
DisableKeySound: true
|
||||||
TooltipText: Scatter
|
TooltipText: Scatter
|
||||||
@@ -155,6 +159,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Height: 26
|
Height: 26
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
Background: command-button
|
Background: command-button
|
||||||
|
Key: Stop
|
||||||
DisableKeyRepeat: true
|
DisableKeyRepeat: true
|
||||||
DisableKeySound: true
|
DisableKeySound: true
|
||||||
TooltipText: Stop
|
TooltipText: Stop
|
||||||
@@ -197,6 +202,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Height: 26
|
Height: 26
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
Background: command-button
|
Background: command-button
|
||||||
|
Key: StanceAttackAnything
|
||||||
DisableKeyRepeat: true
|
DisableKeyRepeat: true
|
||||||
DisableKeySound: true
|
DisableKeySound: true
|
||||||
TooltipText: Attack Anything Stance
|
TooltipText: Attack Anything Stance
|
||||||
@@ -215,6 +221,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Height: 26
|
Height: 26
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
Background: command-button
|
Background: command-button
|
||||||
|
Key: StanceDefend
|
||||||
DisableKeyRepeat: true
|
DisableKeyRepeat: true
|
||||||
DisableKeySound: true
|
DisableKeySound: true
|
||||||
TooltipText: Defend Stance
|
TooltipText: Defend Stance
|
||||||
@@ -233,6 +240,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Height: 26
|
Height: 26
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
Background: command-button
|
Background: command-button
|
||||||
|
Key: StanceReturnFire
|
||||||
DisableKeyRepeat: true
|
DisableKeyRepeat: true
|
||||||
DisableKeySound: true
|
DisableKeySound: true
|
||||||
TooltipText: Return Fire Stance
|
TooltipText: Return Fire Stance
|
||||||
@@ -251,6 +259,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Height: 26
|
Height: 26
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
Background: command-button
|
Background: command-button
|
||||||
|
Key: StanceHoldFire
|
||||||
DisableKeyRepeat: true
|
DisableKeyRepeat: true
|
||||||
DisableKeySound: true
|
DisableKeySound: true
|
||||||
TooltipText: Hold Fire Stance
|
TooltipText: Hold Fire Stance
|
||||||
@@ -282,6 +291,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Width: 28
|
Width: 28
|
||||||
Height: 28
|
Height: 28
|
||||||
Background: sidebar-button
|
Background: sidebar-button
|
||||||
|
Key: PlaceBeacon
|
||||||
TooltipText: Place Beacon
|
TooltipText: Place Beacon
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
@@ -296,6 +306,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Width: 28
|
Width: 28
|
||||||
Height: 28
|
Height: 28
|
||||||
Background: sidebar-button
|
Background: sidebar-button
|
||||||
|
Key: Sell
|
||||||
TooltipText: Sell
|
TooltipText: Sell
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
@@ -310,6 +321,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Width: 28
|
Width: 28
|
||||||
Height: 28
|
Height: 28
|
||||||
Background: sidebar-button
|
Background: sidebar-button
|
||||||
|
Key: PowerDown
|
||||||
TooltipText: Power Down
|
TooltipText: Power Down
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
@@ -324,6 +336,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Width: 28
|
Width: 28
|
||||||
Height: 28
|
Height: 28
|
||||||
Background: sidebar-button
|
Background: sidebar-button
|
||||||
|
Key: Repair
|
||||||
TooltipText: Repair
|
TooltipText: Repair
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
@@ -334,11 +347,11 @@ Container@PLAYER_WIDGETS:
|
|||||||
ImageCollection: order-icons
|
ImageCollection: order-icons
|
||||||
MenuButton@DEBUG_BUTTON:
|
MenuButton@DEBUG_BUTTON:
|
||||||
Logic: AddFactionSuffixLogic
|
Logic: AddFactionSuffixLogic
|
||||||
Key: escape Shift
|
|
||||||
X: 128
|
X: 128
|
||||||
Width: 28
|
Width: 28
|
||||||
Height: 28
|
Height: 28
|
||||||
Background: sidebar-button
|
Background: sidebar-button
|
||||||
|
Key: escape Shift
|
||||||
TooltipText: Debug Menu
|
TooltipText: Debug Menu
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
DisableWorldSounds: true
|
DisableWorldSounds: true
|
||||||
@@ -351,11 +364,11 @@ Container@PLAYER_WIDGETS:
|
|||||||
ImageName: debug
|
ImageName: debug
|
||||||
MenuButton@OPTIONS_BUTTON:
|
MenuButton@OPTIONS_BUTTON:
|
||||||
Logic: AddFactionSuffixLogic
|
Logic: AddFactionSuffixLogic
|
||||||
Key: escape
|
|
||||||
X: 192
|
X: 192
|
||||||
Width: 28
|
Width: 28
|
||||||
Height: 28
|
Height: 28
|
||||||
Background: sidebar-button
|
Background: sidebar-button
|
||||||
|
Key: escape
|
||||||
TooltipText: Options
|
TooltipText: Options
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
DisableWorldSounds: true
|
DisableWorldSounds: true
|
||||||
@@ -481,7 +494,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
TooltipText: Buildings
|
TooltipText: Buildings
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
ProductionGroup: Building
|
ProductionGroup: Building
|
||||||
HotkeyName: ProductionTypeBuildingKey
|
Key: ProductionTypeBuilding
|
||||||
Children:
|
Children:
|
||||||
Image@ICON:
|
Image@ICON:
|
||||||
X: 6
|
X: 6
|
||||||
@@ -497,7 +510,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
TooltipText: Defense
|
TooltipText: Defense
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
ProductionGroup: Defense
|
ProductionGroup: Defense
|
||||||
HotkeyName: ProductionTypeDefenseKey
|
Key: ProductionTypeDefense
|
||||||
Children:
|
Children:
|
||||||
Image@ICON:
|
Image@ICON:
|
||||||
X: 6
|
X: 6
|
||||||
@@ -513,7 +526,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
TooltipText: Infantry
|
TooltipText: Infantry
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
ProductionGroup: Infantry
|
ProductionGroup: Infantry
|
||||||
HotkeyName: ProductionTypeInfantryKey
|
Key: ProductionTypeInfantry
|
||||||
Children:
|
Children:
|
||||||
Image@ICON:
|
Image@ICON:
|
||||||
X: 6
|
X: 6
|
||||||
@@ -529,7 +542,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
TooltipText: Vehicles
|
TooltipText: Vehicles
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
ProductionGroup: Vehicle
|
ProductionGroup: Vehicle
|
||||||
HotkeyName: ProductionTypeVehicleKey
|
Key: ProductionTypeVehicle
|
||||||
Children:
|
Children:
|
||||||
Image@ICON:
|
Image@ICON:
|
||||||
X: 6
|
X: 6
|
||||||
@@ -545,7 +558,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
TooltipText: Aircraft
|
TooltipText: Aircraft
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
ProductionGroup: Aircraft
|
ProductionGroup: Aircraft
|
||||||
HotkeyName: ProductionTypeAircraftKey
|
Key: ProductionTypeAircraft
|
||||||
Children:
|
Children:
|
||||||
Image@ICON:
|
Image@ICON:
|
||||||
X: 6
|
X: 6
|
||||||
@@ -561,7 +574,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
TooltipText: Naval
|
TooltipText: Naval
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
ProductionGroup: Ship
|
ProductionGroup: Ship
|
||||||
HotkeyName: ProductionTypeNavalKey
|
Key: ProductionTypeNaval
|
||||||
Children:
|
Children:
|
||||||
Image@ICON:
|
Image@ICON:
|
||||||
X: 6
|
X: 6
|
||||||
|
|||||||
@@ -94,6 +94,9 @@ Container@OBSERVER_WIDGETS:
|
|||||||
Y: 10
|
Y: 10
|
||||||
Width: 26
|
Width: 26
|
||||||
Height: 26
|
Height: 26
|
||||||
|
Key: Pause
|
||||||
|
TooltipText: Pause
|
||||||
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
IgnoreChildMouseOver: true
|
IgnoreChildMouseOver: true
|
||||||
Children:
|
Children:
|
||||||
Image@IMAGE_PAUSE:
|
Image@IMAGE_PAUSE:
|
||||||
@@ -107,6 +110,9 @@ Container@OBSERVER_WIDGETS:
|
|||||||
Y: 10
|
Y: 10
|
||||||
Width: 26
|
Width: 26
|
||||||
Height: 26
|
Height: 26
|
||||||
|
Key: Pause
|
||||||
|
TooltipText: Play
|
||||||
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
IgnoreChildMouseOver: true
|
IgnoreChildMouseOver: true
|
||||||
Children:
|
Children:
|
||||||
Image@IMAGE_PLAY:
|
Image@IMAGE_PLAY:
|
||||||
@@ -120,9 +126,9 @@ Container@OBSERVER_WIDGETS:
|
|||||||
Width: 36
|
Width: 36
|
||||||
Height: 20
|
Height: 20
|
||||||
BaseLine: 1
|
BaseLine: 1
|
||||||
|
Key: ReplaySpeedSlow
|
||||||
TooltipText: Slow speed
|
TooltipText: Slow speed
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
VisualHeight: 0
|
|
||||||
Text: 50%
|
Text: 50%
|
||||||
Font: TinyBold
|
Font: TinyBold
|
||||||
Button@BUTTON_REGULAR:
|
Button@BUTTON_REGULAR:
|
||||||
@@ -131,9 +137,9 @@ Container@OBSERVER_WIDGETS:
|
|||||||
Width: 38
|
Width: 38
|
||||||
Height: 20
|
Height: 20
|
||||||
BaseLine: 1
|
BaseLine: 1
|
||||||
|
Key: ReplaySpeedRegular
|
||||||
TooltipText: Regular speed
|
TooltipText: Regular speed
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
VisualHeight: 0
|
|
||||||
Text: 100%
|
Text: 100%
|
||||||
Font: TinyBold
|
Font: TinyBold
|
||||||
Button@BUTTON_FAST:
|
Button@BUTTON_FAST:
|
||||||
@@ -142,9 +148,9 @@ Container@OBSERVER_WIDGETS:
|
|||||||
Width: 38
|
Width: 38
|
||||||
Height: 20
|
Height: 20
|
||||||
BaseLine: 1
|
BaseLine: 1
|
||||||
|
Key: ReplaySpeedFast
|
||||||
TooltipText: Fast speed
|
TooltipText: Fast speed
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
VisualHeight: 0
|
|
||||||
Text: 200%
|
Text: 200%
|
||||||
Font: TinyBold
|
Font: TinyBold
|
||||||
Button@BUTTON_MAXIMUM:
|
Button@BUTTON_MAXIMUM:
|
||||||
@@ -153,8 +159,8 @@ Container@OBSERVER_WIDGETS:
|
|||||||
Width: 38
|
Width: 38
|
||||||
Height: 20
|
Height: 20
|
||||||
BaseLine: 1
|
BaseLine: 1
|
||||||
|
Key: ReplaySpeedMax
|
||||||
TooltipText: Maximum speed
|
TooltipText: Maximum speed
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
VisualHeight: 0
|
|
||||||
Text: MAX
|
Text: MAX
|
||||||
Font: TinyBold
|
Font: TinyBold
|
||||||
|
|||||||
@@ -68,6 +68,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Width: 30
|
Width: 30
|
||||||
Height: 31
|
Height: 31
|
||||||
Background: sidebar-button
|
Background: sidebar-button
|
||||||
|
Key: Repair
|
||||||
TooltipText: Repair
|
TooltipText: Repair
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
@@ -83,6 +84,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Width: 30
|
Width: 30
|
||||||
Height: 31
|
Height: 31
|
||||||
Background: sidebar-button
|
Background: sidebar-button
|
||||||
|
Key: Sell
|
||||||
TooltipText: Sell
|
TooltipText: Sell
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
@@ -98,6 +100,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Width: 30
|
Width: 30
|
||||||
Height: 31
|
Height: 31
|
||||||
Background: sidebar-button
|
Background: sidebar-button
|
||||||
|
Key: PlaceBeacon
|
||||||
TooltipText: Place Beacon
|
TooltipText: Place Beacon
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
@@ -113,6 +116,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
Width: 30
|
Width: 30
|
||||||
Height: 31
|
Height: 31
|
||||||
Background: sidebar-button
|
Background: sidebar-button
|
||||||
|
Key: PowerDown
|
||||||
TooltipText: Power Down
|
TooltipText: Power Down
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
VisualHeight: 0
|
VisualHeight: 0
|
||||||
@@ -276,7 +280,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
TooltipText: Buildings
|
TooltipText: Buildings
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
ProductionGroup: Building
|
ProductionGroup: Building
|
||||||
HotkeyName: ProductionTypeBuildingKey
|
Key: ProductionTypeBuilding
|
||||||
Children:
|
Children:
|
||||||
Image@ICON:
|
Image@ICON:
|
||||||
Logic: AddFactionSuffixLogic
|
Logic: AddFactionSuffixLogic
|
||||||
@@ -294,7 +298,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
TooltipText: Defense
|
TooltipText: Defense
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
ProductionGroup: Defense
|
ProductionGroup: Defense
|
||||||
HotkeyName: ProductionTypeDefenseKey
|
Key: ProductionTypeDefense
|
||||||
Children:
|
Children:
|
||||||
Image@ICON:
|
Image@ICON:
|
||||||
Logic: AddFactionSuffixLogic
|
Logic: AddFactionSuffixLogic
|
||||||
@@ -312,7 +316,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
TooltipText: Infantry
|
TooltipText: Infantry
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
ProductionGroup: Infantry
|
ProductionGroup: Infantry
|
||||||
HotkeyName: ProductionTypeInfantryKey
|
Key: ProductionTypeInfantry
|
||||||
Children:
|
Children:
|
||||||
Image@ICON:
|
Image@ICON:
|
||||||
Logic: AddFactionSuffixLogic
|
Logic: AddFactionSuffixLogic
|
||||||
@@ -330,7 +334,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
TooltipText: Vehicles
|
TooltipText: Vehicles
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
ProductionGroup: Vehicle
|
ProductionGroup: Vehicle
|
||||||
HotkeyName: ProductionTypeVehicleKey
|
Key: ProductionTypeVehicle
|
||||||
Children:
|
Children:
|
||||||
Image@ICON:
|
Image@ICON:
|
||||||
Logic: AddFactionSuffixLogic
|
Logic: AddFactionSuffixLogic
|
||||||
@@ -348,7 +352,7 @@ Container@PLAYER_WIDGETS:
|
|||||||
TooltipText: Aircraft
|
TooltipText: Aircraft
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
ProductionGroup: Air
|
ProductionGroup: Air
|
||||||
HotkeyName: ProductionTypeAircraftKey
|
Key: ProductionTypeAircraft
|
||||||
Children:
|
Children:
|
||||||
Image@ICON:
|
Image@ICON:
|
||||||
Logic: AddFactionSuffixLogic
|
Logic: AddFactionSuffixLogic
|
||||||
|
|||||||
Reference in New Issue
Block a user