Migrate ButtonWidget to NamedHotkey.

This commit is contained in:
Paul Chote
2017-07-23 14:25:27 +00:00
committed by reaperrr
parent 42bf232b37
commit 1e0148e092
20 changed files with 120 additions and 100 deletions

View File

@@ -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())

View File

@@ -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;

View File

@@ -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;

View File

@@ -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);

View File

@@ -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");

View File

@@ -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));

View File

@@ -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
{ {

View File

@@ -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");

View File

@@ -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 = () =>

View File

@@ -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);

View File

@@ -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)

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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