Overhaul the RA sidebar UI.
This commit is contained in:
@@ -540,6 +540,7 @@
|
|||||||
<Compile Include="Widgets\Logic\Ingame\IngamePowerBarLogic.cs" />
|
<Compile Include="Widgets\Logic\Ingame\IngamePowerBarLogic.cs" />
|
||||||
<Compile Include="Widgets\Logic\Ingame\IngameSiloBarLogic.cs" />
|
<Compile Include="Widgets\Logic\Ingame\IngameSiloBarLogic.cs" />
|
||||||
<Compile Include="Widgets\Logic\Ingame\AddRaceSuffixLogic.cs" />
|
<Compile Include="Widgets\Logic\Ingame\AddRaceSuffixLogic.cs" />
|
||||||
|
<Compile Include="Widgets\Logic\ClassicProductionLogic.cs" />
|
||||||
<Compile Include="Widgets\SupportPowersWidget.cs" />
|
<Compile Include="Widgets\SupportPowersWidget.cs" />
|
||||||
<Compile Include="Widgets\Logic\SupportPowerTooltipLogic.cs" />
|
<Compile Include="Widgets\Logic\SupportPowerTooltipLogic.cs" />
|
||||||
<Compile Include="Widgets\Logic\SupportPowerBinLogic.cs" />
|
<Compile Include="Widgets\Logic\SupportPowerBinLogic.cs" />
|
||||||
|
|||||||
141
OpenRA.Mods.RA/Widgets/Logic/ClassicProductionLogic.cs
Normal file
141
OpenRA.Mods.RA/Widgets/Logic/ClassicProductionLogic.cs
Normal file
@@ -0,0 +1,141 @@
|
|||||||
|
#region Copyright & License Information
|
||||||
|
/*
|
||||||
|
* Copyright 2007-2014 The OpenRA Developers (see AUTHORS)
|
||||||
|
* This file is part of OpenRA, which is free software. It is made
|
||||||
|
* available to you under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation. For more information,
|
||||||
|
* see COPYING.
|
||||||
|
*/
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Linq;
|
||||||
|
using OpenRA.Mods.RA.Widgets;
|
||||||
|
using OpenRA.Network;
|
||||||
|
using OpenRA.Widgets;
|
||||||
|
|
||||||
|
namespace OpenRA.Mods.RA.Widgets.Logic
|
||||||
|
{
|
||||||
|
public class ClassicProductionLogic
|
||||||
|
{
|
||||||
|
readonly ProductionPaletteWidget palette;
|
||||||
|
readonly World world;
|
||||||
|
|
||||||
|
void SetupProductionGroupButton(OrderManager orderManager, ProductionTypeButtonWidget button)
|
||||||
|
{
|
||||||
|
if (button == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
// Classic production queues are initialized at game start, and then never change.
|
||||||
|
var queues = world.LocalPlayer.PlayerActor.TraitsImplementing<ProductionQueue>()
|
||||||
|
.Where(q => q.Info.Type == button.ProductionGroup)
|
||||||
|
.ToArray();
|
||||||
|
|
||||||
|
Action<bool> selectTab = reverse =>
|
||||||
|
{
|
||||||
|
palette.CurrentQueue = queues.FirstOrDefault(q => q.Enabled);
|
||||||
|
};
|
||||||
|
|
||||||
|
button.IsDisabled = () => !queues.Any(q => q.BuildableItems().Any());
|
||||||
|
button.OnMouseUp = mi => selectTab(mi.Modifiers.HasModifier(Modifiers.Shift));
|
||||||
|
button.OnKeyPress = e => selectTab(e.Modifiers.HasModifier(Modifiers.Shift));
|
||||||
|
button.OnClick = () => selectTab(false);
|
||||||
|
button.IsHighlighted = () => queues.Contains(palette.CurrentQueue);
|
||||||
|
|
||||||
|
var chromeName = button.ProductionGroup.ToLowerInvariant();
|
||||||
|
var icon = button.Get<ImageWidget>("ICON");
|
||||||
|
icon.GetImageName = () => button.IsDisabled() ? chromeName + "-disabled" :
|
||||||
|
queues.Any(q => q.CurrentDone) ? chromeName + "-alert" : chromeName;
|
||||||
|
}
|
||||||
|
|
||||||
|
[ObjectCreator.UseCtor]
|
||||||
|
public ClassicProductionLogic(Widget widget, OrderManager orderManager, World world)
|
||||||
|
{
|
||||||
|
this.world = world;
|
||||||
|
palette = widget.Get<ProductionPaletteWidget>("PRODUCTION_PALETTE");
|
||||||
|
|
||||||
|
var background = widget.GetOrNull("PALETTE_BACKGROUND");
|
||||||
|
var foreground = widget.GetOrNull("PALETTE_FOREGROUND");
|
||||||
|
if (background != null || foreground != null)
|
||||||
|
{
|
||||||
|
Widget backgroundTemplate = null;
|
||||||
|
Widget backgroundBottom = null;
|
||||||
|
Widget foregroundTemplate = null;
|
||||||
|
|
||||||
|
if (background != null)
|
||||||
|
{
|
||||||
|
backgroundTemplate = background.Get("ROW_TEMPLATE");
|
||||||
|
backgroundBottom = background.GetOrNull("BOTTOM_CAP");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (foreground != null)
|
||||||
|
foregroundTemplate = foreground.Get("ROW_TEMPLATE");
|
||||||
|
|
||||||
|
Action<int, int> updateBackground = (_, icons) =>
|
||||||
|
{
|
||||||
|
// Minimum of four rows to make space for the production buttons.
|
||||||
|
var rows = Math.Max(4, (icons + palette.Columns - 1) / palette.Columns);
|
||||||
|
|
||||||
|
if (background != null)
|
||||||
|
{
|
||||||
|
background.RemoveChildren();
|
||||||
|
|
||||||
|
var rowHeight = backgroundTemplate.Bounds.Height;
|
||||||
|
for (var i = 0; i < rows; i++)
|
||||||
|
{
|
||||||
|
var row = backgroundTemplate.Clone();
|
||||||
|
row.Bounds.Y = i * rowHeight;
|
||||||
|
background.AddChild(row);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (backgroundBottom == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
backgroundBottom.Bounds.Y = rows * rowHeight;
|
||||||
|
background.AddChild(backgroundBottom);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (foreground != null)
|
||||||
|
{
|
||||||
|
foreground.RemoveChildren();
|
||||||
|
|
||||||
|
var rowHeight = foregroundTemplate.Bounds.Height;
|
||||||
|
for (var i = 0; i < rows; i++)
|
||||||
|
{
|
||||||
|
var row = foregroundTemplate.Clone();
|
||||||
|
row.Bounds.Y = i * rowHeight;
|
||||||
|
foreground.AddChild(row);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
palette.OnIconCountChanged += updateBackground;
|
||||||
|
|
||||||
|
// Set the initial palette state
|
||||||
|
updateBackground(0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
var typesContainer = widget.Get("PRODUCTION_TYPES");
|
||||||
|
foreach (var i in typesContainer.Children)
|
||||||
|
SetupProductionGroupButton(orderManager, i as ProductionTypeButtonWidget);
|
||||||
|
|
||||||
|
var ticker = widget.Get<LogicTickerWidget>("PRODUCTION_TICKER");
|
||||||
|
ticker.OnTick = () =>
|
||||||
|
{
|
||||||
|
if (palette.CurrentQueue == null || palette.IconCount == 0)
|
||||||
|
{
|
||||||
|
// Select the first active tab
|
||||||
|
foreach (var b in typesContainer.Children)
|
||||||
|
{
|
||||||
|
var button = b as ProductionTypeButtonWidget;
|
||||||
|
if (button == null || button.IsDisabled())
|
||||||
|
continue;
|
||||||
|
|
||||||
|
button.OnClick();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
Binary file not shown.
BIN
artsrc/ra/chrome.pxm
Normal file
BIN
artsrc/ra/chrome.pxm
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,118 +1,90 @@
|
|||||||
chrome-allies: chrome-allies.png
|
sidebar-allies: chrome.png
|
||||||
specialbin-top: 0,0,30,51
|
background-top: 0,167,238,290
|
||||||
specialbin-middle: 0,51,30,51
|
background-iconrow: 0,457,238,47
|
||||||
specialbin-bottom: 0,153,30,39
|
background-bottom: 0,504,238,8
|
||||||
moneybin: 192,0,320,31
|
background-iconoverlay: 314,118,238,48
|
||||||
radar: 297,31,210,222
|
background-supportoverlay: 184,118,64,48
|
||||||
tooltip-bg: 0,288,272,136
|
|
||||||
|
|
||||||
power-allies: chrome-allies.png
|
sidebar-button-allies: chrome.png
|
||||||
power-indicator: 187,4,4,7
|
background: 56,28,28,28
|
||||||
|
sidebar-button-allies-hover: chrome.png
|
||||||
|
background: 56,0,28,28
|
||||||
|
sidebar-button-allies-pressed: chrome.png
|
||||||
|
background: 56,28,28,28
|
||||||
|
sidebar-button-allies-highlighted: chrome.png
|
||||||
|
background: 84,28,28,28
|
||||||
|
sidebar-button-allies-highlighted-hover: chrome.png
|
||||||
|
background: 84,0,28,28
|
||||||
|
sidebar-button-allies-highlighted-pressed: chrome.png
|
||||||
|
background: 84,28,28,28
|
||||||
|
sidebar-button-allies-disabled: chrome.png
|
||||||
|
background: 112,0,28,28
|
||||||
|
sidebar-button-allies-highlighted-disabled: chrome.png
|
||||||
|
background: 112,0,28,28
|
||||||
|
|
||||||
palette-allies: chrome-allies.png
|
sidebar-soviet: chrome.png
|
||||||
top: 297,288,201,9
|
background-top: 274,167,238,290
|
||||||
dock-top: 498,274,14,23
|
background-iconrow: 274,457,238,47
|
||||||
bottom: 297,489,201,9
|
background-bottom: 274,504,238,8
|
||||||
dock-bottom: 498,489,14,23
|
background-iconoverlay: 314,118,238,48
|
||||||
bg-0: 297,297,201,48
|
background-supportoverlay: 249,118,64,48
|
||||||
dock-0: 498,297,14,48
|
|
||||||
bg-1: 297,345,201,48
|
|
||||||
dock-1: 498,345,14,48
|
|
||||||
bg-2: 297,393,201,48
|
|
||||||
dock-2: 498,393,14,48
|
|
||||||
bg-3: 297,441,201,48
|
|
||||||
dock-3: 498,441,14,48
|
|
||||||
|
|
||||||
digits-allies: chrome-allies.png
|
sidebar-button-soviet: chrome.png
|
||||||
0: 32,0,13,17
|
background: 0,28,28,28
|
||||||
1: 45,0,13,17
|
sidebar-button-soviet-hover: chrome.png
|
||||||
2: 58,0,13,17
|
background: 0,0,28,28
|
||||||
3: 71,0,13,17
|
sidebar-button-soviet-pressed: chrome.png
|
||||||
4: 84,0,13,17
|
background: 0,28,28,28
|
||||||
5: 97,0,13,17
|
sidebar-button-soviet-highlighted: chrome.png
|
||||||
6: 110,0,13,17
|
background: 28,28,28,28
|
||||||
7: 123,0,13,17
|
sidebar-button-soviet-highlighted-hover: chrome.png
|
||||||
8: 136,0,13,17
|
background: 28,0,28,28
|
||||||
9: 149,0,13,17
|
sidebar-button-soviet-highlighted-pressed: chrome.png
|
||||||
|
background: 28,28,28,28
|
||||||
|
sidebar-button-soviet-disabled: chrome.png
|
||||||
|
background: 112,0,28,28
|
||||||
|
sidebar-button-soviet-highlighted-disabled: chrome.png
|
||||||
|
background: 112,0,28,28
|
||||||
|
|
||||||
chrome-soviet: chrome-soviet.png
|
production-icons: chrome.png
|
||||||
specialbin-top: 0,0,30,51
|
building: 384,0,16,16
|
||||||
specialbin-middle: 0,51,30,51
|
building-disabled: 384,16,16,16
|
||||||
specialbin-bottom: 0,153,30,39
|
building-alert: 384,32,16,16
|
||||||
moneybin: 192,0,320,31
|
defense: 400,0,16,16
|
||||||
radar: 297,31,210,222
|
defense-disabled: 400,16,16,16
|
||||||
tooltip-bg: 0,288,272,136
|
defense-alert: 400,32,16,16
|
||||||
|
infantry: 416,0,16,16
|
||||||
|
infantry-disabled: 416,16,16,16
|
||||||
|
infantry-alert: 416,32,16,16
|
||||||
|
vehicle: 432,0,16,16
|
||||||
|
vehicle-disabled: 432,16,16,16
|
||||||
|
vehicle-alert: 432,32,16,16
|
||||||
|
aircraft: 448,0,16,16
|
||||||
|
aircraft-disabled: 448,16,16,16
|
||||||
|
aircraft-alert: 448,32,16,16
|
||||||
|
ship: 496,48,16,16
|
||||||
|
ship-disabled: 496,64,16,16
|
||||||
|
ship-alert: 496,80,16,16
|
||||||
|
|
||||||
power-soviet: chrome-soviet.png
|
order-icons: chrome.png
|
||||||
power-indicator: 187,4,4,7
|
options: 480,0,16,16
|
||||||
|
options-disabled: 480,16,16,16
|
||||||
palette-soviet: chrome-soviet.png
|
options-active: 480,32,16,16
|
||||||
top: 297,288,201,9
|
diplomacy: 464,48,16,16
|
||||||
dock-top: 498,274,14,23
|
diplomacy-disabled: 464,64,16,16
|
||||||
bottom: 297,489,201,9
|
diplomacy-active: 464,80,16,16
|
||||||
dock-bottom: 498,489,14,23
|
sell: 496,0,16,16
|
||||||
bg-0: 297,297,201,48
|
sell-disabled: 496,16,16,16
|
||||||
dock-0: 498,297,14,48
|
sell-active: 496,32,16,16
|
||||||
bg-1: 297,345,201,48
|
repair: 384,48,16,16
|
||||||
dock-1: 498,345,14,48
|
repair-disabled: 384,64,16,16
|
||||||
bg-2: 297,393,201,48
|
repair-active: 384,80,16,16
|
||||||
dock-2: 498,393,14,48
|
beacon: 400,48,16,16
|
||||||
bg-3: 297,441,201,48
|
beacon-disabled: 400,64,16,16
|
||||||
dock-3: 498,441,14,48
|
beacon-active: 400,80,16,16
|
||||||
|
power: 480,48,16,16
|
||||||
digits-soviet: chrome-soviet.png
|
power-disabled: 480,64,16,16
|
||||||
0: 32,0,13,17
|
power-active: 480,80,16,16
|
||||||
1: 45,0,13,17
|
|
||||||
2: 58,0,13,17
|
|
||||||
3: 71,0,13,17
|
|
||||||
4: 84,0,13,17
|
|
||||||
5: 97,0,13,17
|
|
||||||
6: 110,0,13,17
|
|
||||||
7: 123,0,13,17
|
|
||||||
8: 136,0,13,17
|
|
||||||
9: 149,0,13,17
|
|
||||||
|
|
||||||
tabs-selected: tabs.png
|
|
||||||
allies-Building: 0,0,27,41
|
|
||||||
allies-Defense: 0,40,27,41
|
|
||||||
allies-Infantry: 0,80,27,41
|
|
||||||
allies-Vehicle: 0,120,27,41
|
|
||||||
allies-Aircraft: 162,200,27,41
|
|
||||||
allies-Ship: 0,200,27,41
|
|
||||||
soviet-Building: 81,0,27,41
|
|
||||||
soviet-Defense: 81,40,27,41
|
|
||||||
soviet-Infantry: 81,80,27,41
|
|
||||||
soviet-Vehicle: 81,120,27,41
|
|
||||||
soviet-Aircraft: 81,160,27,41
|
|
||||||
soviet-Ship: 81,200,27,41
|
|
||||||
|
|
||||||
tabs-ready: tabs.png
|
|
||||||
allies-Building: 27,0,27,41
|
|
||||||
allies-Defense: 27,40,27,41
|
|
||||||
allies-Infantry: 27,80,27,41
|
|
||||||
allies-Vehicle: 27,120,27,41
|
|
||||||
allies-Aircraft: 162,160,27,41
|
|
||||||
allies-Ship: 27,200,27,41
|
|
||||||
soviet-Building: 108,0,27,41
|
|
||||||
soviet-Defense: 108,40,27,41
|
|
||||||
soviet-Infantry: 108,80,27,41
|
|
||||||
soviet-Vehicle: 108,120,27,41
|
|
||||||
soviet-Aircraft: 108,160,27,41
|
|
||||||
soviet-Ship: 108,200,27,41
|
|
||||||
|
|
||||||
tabs-normal: tabs.png
|
|
||||||
allies-Building: 54,0,27,41
|
|
||||||
allies-Defense: 54,40,27,41
|
|
||||||
allies-Infantry: 54,80,27,41
|
|
||||||
allies-Vehicle: 54,120,27,41
|
|
||||||
allies-Aircraft: 162,120,27,41
|
|
||||||
allies-Ship: 54,200,27,41
|
|
||||||
soviet-Building: 135,0,27,41
|
|
||||||
soviet-Defense: 135,40,27,41
|
|
||||||
soviet-Infantry: 135,80,27,41
|
|
||||||
soviet-Vehicle: 135,120,27,41
|
|
||||||
soviet-Aircraft: 135,160,27,41
|
|
||||||
soviet-Ship: 135,200,27,41
|
|
||||||
|
|
||||||
# Used for the menu
|
# Used for the menu
|
||||||
dialog: dialog.png
|
dialog: dialog.png
|
||||||
@@ -175,20 +147,6 @@ strategic: strategic.png
|
|||||||
enemy_owned: 32,32,32,32
|
enemy_owned: 32,32,32,32
|
||||||
player_owned: 96,0,32,32
|
player_owned: 96,0,32,32
|
||||||
|
|
||||||
order-icons: buttons.png
|
|
||||||
sell: 0,0,34,28
|
|
||||||
sell-disabled: 68,0,34,28
|
|
||||||
sell-active: 34,0,34,28
|
|
||||||
repair: 0,28,34,28
|
|
||||||
repair-disabled: 68,28,34,28
|
|
||||||
repair-active: 34,28,34,28
|
|
||||||
power: 0,56,34,28
|
|
||||||
power-disabled: 68,56,34,28
|
|
||||||
power-active: 34,56,34,28
|
|
||||||
beacon: 0,84,34,28
|
|
||||||
beacon-disabled: 68,84,34,28
|
|
||||||
beacon-active: 34,84,34,28
|
|
||||||
|
|
||||||
flags: buttons.png
|
flags: buttons.png
|
||||||
allies: 30,112,30,15
|
allies: 30,112,30,15
|
||||||
soviet: 0,112,30,15
|
soviet: 0,112,30,15
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ Background@INGAME_OPTIONS_BG:
|
|||||||
Width: 300
|
Width: 300
|
||||||
Height: 295
|
Height: 295
|
||||||
Logic: IngameMenuLogic
|
Logic: IngameMenuLogic
|
||||||
Visible: false
|
|
||||||
Children:
|
Children:
|
||||||
Label@LABEL_TITLE:
|
Label@LABEL_TITLE:
|
||||||
X: (PARENT_RIGHT - WIDTH)/2
|
X: (PARENT_RIGHT - WIDTH)/2
|
||||||
|
|||||||
@@ -1,5 +1,32 @@
|
|||||||
Container@OBSERVER_WIDGETS:
|
Container@OBSERVER_WIDGETS:
|
||||||
Children:
|
Children:
|
||||||
|
Container@GAME_TIMER_BLOCK:
|
||||||
|
Logic: GameTimerLogic
|
||||||
|
X: WINDOW_RIGHT/2 - WIDTH
|
||||||
|
Width: 100
|
||||||
|
Height: 55
|
||||||
|
Children:
|
||||||
|
Label@GAME_TIMER:
|
||||||
|
Width: PARENT_RIGHT
|
||||||
|
Height: 15
|
||||||
|
Align: Center
|
||||||
|
Font: Title
|
||||||
|
Contrast: true
|
||||||
|
Label@GAME_TIMER_STATUS:
|
||||||
|
Y: 35
|
||||||
|
Width: PARENT_RIGHT
|
||||||
|
Height: 15
|
||||||
|
Align: Center
|
||||||
|
Font: Bold
|
||||||
|
Contrast: true
|
||||||
|
Button@INGAME_OPTIONS_BUTTON:
|
||||||
|
X: 0
|
||||||
|
Y: 0
|
||||||
|
Width: 160
|
||||||
|
Height: 25
|
||||||
|
Text: Options (ESC)
|
||||||
|
Font: Bold
|
||||||
|
Key: escape
|
||||||
Button@INGAME_STATS_BUTTON:
|
Button@INGAME_STATS_BUTTON:
|
||||||
X: 162
|
X: 162
|
||||||
Y: 0
|
Y: 0
|
||||||
|
|||||||
@@ -3,23 +3,6 @@ Container@PLAYER_WIDGETS:
|
|||||||
LogicKeyListener@CONTROLGROUP_KEYHANDLER:
|
LogicKeyListener@CONTROLGROUP_KEYHANDLER:
|
||||||
Logic: ControlGroupLogic
|
Logic: ControlGroupLogic
|
||||||
LogicTicker@SIDEBAR_TICKER:
|
LogicTicker@SIDEBAR_TICKER:
|
||||||
Button@INGAME_DIPLOMACY_BUTTON:
|
|
||||||
X: 162
|
|
||||||
Y: 0
|
|
||||||
Width: 160
|
|
||||||
Height: 25
|
|
||||||
Text: Diplomacy (F1)
|
|
||||||
Font: Bold
|
|
||||||
Key: f1
|
|
||||||
Button@INGAME_DEBUG_BUTTON:
|
|
||||||
X: 324
|
|
||||||
Y: 0
|
|
||||||
Width: 160
|
|
||||||
Height: 25
|
|
||||||
Text: Debug (F2)
|
|
||||||
Visible: false
|
|
||||||
Font: Bold
|
|
||||||
Key: f2
|
|
||||||
Button@OBJECTIVES_BUTTON:
|
Button@OBJECTIVES_BUTTON:
|
||||||
X: 486
|
X: 486
|
||||||
Y: 0
|
Y: 0
|
||||||
@@ -29,87 +12,327 @@ Container@PLAYER_WIDGETS:
|
|||||||
Visible: false
|
Visible: false
|
||||||
Font: Bold
|
Font: Bold
|
||||||
Key: f3
|
Key: f3
|
||||||
SlidingContainer@INGAME_RADAR_BIN:
|
Container@SUPPORT_POWERS:
|
||||||
X: WINDOW_RIGHT-215
|
Logic: SupportPowerBinLogic
|
||||||
Y: 0
|
X: 10
|
||||||
OpenOffset: 0,29
|
Y: 10
|
||||||
ClosedOffset: 0,-166
|
|
||||||
AnimationLength: 15
|
|
||||||
Children:
|
Children:
|
||||||
Image@RADAR_BIN_BG:
|
SupportPowers@SUPPORT_PALETTE:
|
||||||
ImageName: radar
|
IconSize: 62, 46
|
||||||
Radar@RADAR_MINIMAP:
|
IconSpriteOffset: -1, -1
|
||||||
WorldInteractionController: INTERACTION_CONTROLLER
|
|
||||||
X: 9
|
|
||||||
Width: 192
|
|
||||||
Height: 192
|
|
||||||
ResourceBar@POWERBAR:
|
|
||||||
X: 42
|
|
||||||
Y: 205
|
|
||||||
Width: 138
|
|
||||||
Height: 5
|
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
TooltipTemplate: SIMPLE_TOOLTIP
|
ReadyText: READY
|
||||||
IndicatorImage: power-indicator
|
HoldText: ON HOLD
|
||||||
Orientation: Horizontal
|
Container@PALETTE_FOREGROUND:
|
||||||
Style: Bevelled
|
|
||||||
MoneyBin@INGAME_MONEY_BIN:
|
|
||||||
Logic: OrderButtonsChromeLogic
|
|
||||||
X: WINDOW_RIGHT - WIDTH
|
|
||||||
Width: 320
|
|
||||||
Height: 32
|
|
||||||
Children:
|
|
||||||
Button@BEACON_BUTTON:
|
|
||||||
X: 3-36
|
|
||||||
Width: 34
|
|
||||||
Height: 28
|
|
||||||
TooltipText: Place Beacon
|
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
|
||||||
VisualHeight: 0
|
|
||||||
Children:
|
Children:
|
||||||
Image@ICON:
|
Image@ICON_TEMPLATE:
|
||||||
ImageCollection: order-icons
|
Logic: AddRaceSuffixLogic
|
||||||
Button@SELL_BUTTON:
|
X:0-2
|
||||||
X: 3
|
Y:0-2
|
||||||
Width: 34
|
Width: 62
|
||||||
Height: 28
|
Height: 46
|
||||||
TooltipText: Sell
|
IgnoreMouseOver: true
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
ImageCollection: sidebar
|
||||||
VisualHeight: 0
|
ImageName: background-supportoverlay
|
||||||
Children:
|
Image@SIDEBAR_BACKGROUND_TOP:
|
||||||
Image@ICON:
|
Logic: AddRaceSuffixLogic
|
||||||
ImageCollection: order-icons
|
|
||||||
Button@POWER_BUTTON:
|
|
||||||
X: 39
|
|
||||||
Width: 34
|
|
||||||
Height: 28
|
|
||||||
TooltipText: Power Down
|
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
|
||||||
VisualHeight: 0
|
|
||||||
Children:
|
|
||||||
Image@ICON:
|
|
||||||
ImageCollection: order-icons
|
|
||||||
Button@REPAIR_BUTTON:
|
|
||||||
X: 75
|
|
||||||
Width: 34
|
|
||||||
Height: 28
|
|
||||||
TooltipText: Repair
|
|
||||||
TooltipContainer: TOOLTIP_CONTAINER
|
|
||||||
VisualHeight: 0
|
|
||||||
Children:
|
|
||||||
Image@ICON:
|
|
||||||
ImageCollection: order-icons
|
|
||||||
SupportPowerBin@INGAME_POWERS_BIN:
|
|
||||||
X: 0
|
|
||||||
Y: 25
|
|
||||||
ReadyText: READY
|
|
||||||
HoldText: ON HOLD
|
|
||||||
BuildPalette@INGAME_BUILD_PALETTE:
|
|
||||||
X: WINDOW_RIGHT - 250
|
X: WINDOW_RIGHT - 250
|
||||||
Y: 280
|
Y: 10
|
||||||
Width: 250
|
Width: 238
|
||||||
Height: 500
|
Height: 291
|
||||||
ReadyText: READY
|
ImageCollection: sidebar
|
||||||
HoldText: ON HOLD
|
ImageName: background-top
|
||||||
RequiresText: Requires {0}
|
ClickThrough: false
|
||||||
|
Children:
|
||||||
|
Container@TOP_BUTTONS:
|
||||||
|
Logic: OrderButtonsChromeLogic
|
||||||
|
X: 9
|
||||||
|
Y: 7
|
||||||
|
Children:
|
||||||
|
Button@BEACON_BUTTON:
|
||||||
|
Logic: AddRaceSuffixLogic
|
||||||
|
Width: 28
|
||||||
|
Height: 28
|
||||||
|
Background: sidebar-button
|
||||||
|
TooltipText: Place Beacon
|
||||||
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
|
VisualHeight: 0
|
||||||
|
Children:
|
||||||
|
Image@ICON:
|
||||||
|
X: 6
|
||||||
|
Y: 6
|
||||||
|
ImageCollection: order-icons
|
||||||
|
Button@SELL_BUTTON:
|
||||||
|
Logic: AddRaceSuffixLogic
|
||||||
|
X: 32
|
||||||
|
Width: 28
|
||||||
|
Height: 28
|
||||||
|
Background: sidebar-button
|
||||||
|
TooltipText: Sell
|
||||||
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
|
VisualHeight: 0
|
||||||
|
Children:
|
||||||
|
Image@ICON:
|
||||||
|
X: 6
|
||||||
|
Y: 6
|
||||||
|
ImageCollection: order-icons
|
||||||
|
Button@POWER_BUTTON:
|
||||||
|
Logic: AddRaceSuffixLogic
|
||||||
|
X: 64
|
||||||
|
Width: 28
|
||||||
|
Height: 28
|
||||||
|
Background: sidebar-button
|
||||||
|
TooltipText: Power Down
|
||||||
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
|
VisualHeight: 0
|
||||||
|
Children:
|
||||||
|
Image@ICON:
|
||||||
|
X: 6
|
||||||
|
Y: 6
|
||||||
|
ImageCollection: order-icons
|
||||||
|
Button@REPAIR_BUTTON:
|
||||||
|
Logic: AddRaceSuffixLogic
|
||||||
|
X: 96
|
||||||
|
Width: 28
|
||||||
|
Height: 28
|
||||||
|
Background: sidebar-button
|
||||||
|
TooltipText: Repair
|
||||||
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
|
VisualHeight: 0
|
||||||
|
Children:
|
||||||
|
Image@ICON:
|
||||||
|
X: 6
|
||||||
|
Y: 6
|
||||||
|
ImageCollection: order-icons
|
||||||
|
MenuButton@DEBUG_BUTTON:
|
||||||
|
Logic: AddRaceSuffixLogic
|
||||||
|
MenuContainer: INGAME_DEBUG_BG
|
||||||
|
HideIngameUI: false
|
||||||
|
Key: f2
|
||||||
|
X: 128
|
||||||
|
Width: 28
|
||||||
|
Height: 28
|
||||||
|
Background: sidebar-button
|
||||||
|
TooltipText: Debug Menu
|
||||||
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
|
VisualHeight: 0
|
||||||
|
Children:
|
||||||
|
Image@ICON:
|
||||||
|
X: 6
|
||||||
|
Y: 6
|
||||||
|
ImageCollection: order-icons
|
||||||
|
ImageName: options
|
||||||
|
MenuButton@DIPLOMACY_BUTTON:
|
||||||
|
Logic: AddRaceSuffixLogic
|
||||||
|
MenuContainer: INGAME_DIPLOMACY_BG
|
||||||
|
HideIngameUI: false
|
||||||
|
Key: f1
|
||||||
|
X: 160
|
||||||
|
Width: 28
|
||||||
|
Height: 28
|
||||||
|
Background: sidebar-button
|
||||||
|
TooltipText: Diplomacy
|
||||||
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
|
VisualHeight: 0
|
||||||
|
Children:
|
||||||
|
Image@ICON:
|
||||||
|
X: 6
|
||||||
|
Y: 6
|
||||||
|
ImageCollection: order-icons
|
||||||
|
ImageName: diplomacy
|
||||||
|
MenuButton@OPTIONS_BUTTON:
|
||||||
|
Logic: AddRaceSuffixLogic
|
||||||
|
MenuContainer: INGAME_OPTIONS_BG
|
||||||
|
HideIngameUI: false
|
||||||
|
Key: escape
|
||||||
|
X: 192
|
||||||
|
Width: 28
|
||||||
|
Height: 28
|
||||||
|
Background: sidebar-button
|
||||||
|
TooltipText: Options
|
||||||
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
|
VisualHeight: 0
|
||||||
|
Children:
|
||||||
|
Image@ICON:
|
||||||
|
X: 6
|
||||||
|
Y: 6
|
||||||
|
ImageCollection: order-icons
|
||||||
|
ImageName: options
|
||||||
|
Container@RADAR:
|
||||||
|
Logic: IngameRadarDisplayLogic
|
||||||
|
Children:
|
||||||
|
LogicTicker@RADAR_TICKER:
|
||||||
|
ColorBlock@RADAR_FADETOBLACK:
|
||||||
|
X: 8
|
||||||
|
Y: 40
|
||||||
|
Width: 222
|
||||||
|
Height: 222
|
||||||
|
Radar@RADAR_MINIMAP:
|
||||||
|
WorldInteractionController: INTERACTION_CONTROLLER
|
||||||
|
X: 9
|
||||||
|
Y: 41
|
||||||
|
Width: 220
|
||||||
|
Height: 220
|
||||||
|
Children:
|
||||||
|
Label@CASH:
|
||||||
|
Logic: IngameCashCounterLogic
|
||||||
|
X: 35
|
||||||
|
Y: 262
|
||||||
|
Width: 100
|
||||||
|
Height: 22
|
||||||
|
Font: Bold
|
||||||
|
Text: {0}
|
||||||
|
Label@POWER:
|
||||||
|
Logic: IngamePowerCounterLogic
|
||||||
|
X: PARENT_RIGHT - WIDTH - 30
|
||||||
|
Y: 262
|
||||||
|
Width: 100
|
||||||
|
Height: 22
|
||||||
|
Align: Right
|
||||||
|
Font: Bold
|
||||||
|
Text: {0}
|
||||||
|
Label@GAME_TIMER:
|
||||||
|
Logic: GameTimerLogic
|
||||||
|
Y: 263
|
||||||
|
Width: PARENT_RIGHT
|
||||||
|
Height: 22
|
||||||
|
Align: Center
|
||||||
|
Font: TinyBold
|
||||||
|
Container@SIDEBAR_PRODUCTION:
|
||||||
|
Logic: ClassicProductionLogic
|
||||||
|
X: WINDOW_RIGHT - 250
|
||||||
|
Y: 300
|
||||||
|
Width: 238
|
||||||
|
Height: 250
|
||||||
|
Children:
|
||||||
|
Container@PALETTE_BACKGROUND:
|
||||||
|
Children:
|
||||||
|
Image@ROW_TEMPLATE:
|
||||||
|
Logic: AddRaceSuffixLogic
|
||||||
|
Width: 238
|
||||||
|
Height: 47
|
||||||
|
ClickThrough: false
|
||||||
|
ImageCollection: sidebar
|
||||||
|
ImageName: background-iconrow
|
||||||
|
Image@BOTTOM_CAP:
|
||||||
|
Logic: AddRaceSuffixLogic
|
||||||
|
Width: 238
|
||||||
|
Height: 8
|
||||||
|
ClickThrough: false
|
||||||
|
ImageCollection: sidebar
|
||||||
|
ImageName: background-bottom
|
||||||
|
LogicTicker@PRODUCTION_TICKER:
|
||||||
|
ProductionPalette@PRODUCTION_PALETTE:
|
||||||
|
X: 42
|
||||||
|
Y: 1
|
||||||
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
|
ReadyText: READY
|
||||||
|
HoldText: ON HOLD
|
||||||
|
IconSize: 62, 46
|
||||||
|
IconMargin: 1, 1
|
||||||
|
IconSpriteOffset: -1, -1
|
||||||
|
Container@PALETTE_FOREGROUND:
|
||||||
|
X: 40
|
||||||
|
Y: 0-1
|
||||||
|
Children:
|
||||||
|
Image@ROW_TEMPLATE:
|
||||||
|
Width: 238
|
||||||
|
Height: 47
|
||||||
|
IgnoreMouseOver: true
|
||||||
|
ImageCollection: sidebar-soviet
|
||||||
|
ImageName: background-iconoverlay
|
||||||
|
Container@PRODUCTION_TYPES:
|
||||||
|
X: 7
|
||||||
|
Y: 2
|
||||||
|
Width: 29
|
||||||
|
Height: 240
|
||||||
|
Children:
|
||||||
|
ProductionTypeButton@BUILDING:
|
||||||
|
Logic: AddRaceSuffixLogic
|
||||||
|
Width: 28
|
||||||
|
Height: 28
|
||||||
|
VisualHeight: 0
|
||||||
|
Background: sidebar-button
|
||||||
|
TooltipText: Buildings
|
||||||
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
|
ProductionGroup: Building
|
||||||
|
Children:
|
||||||
|
Image@ICON:
|
||||||
|
X: 6
|
||||||
|
Y: 6
|
||||||
|
ImageCollection: production-icons
|
||||||
|
ProductionTypeButton@DEFENSE:
|
||||||
|
Logic: AddRaceSuffixLogic
|
||||||
|
Y: 31
|
||||||
|
Width: 28
|
||||||
|
Height: 28
|
||||||
|
VisualHeight: 0
|
||||||
|
Background: sidebar-button
|
||||||
|
TooltipText: Defense
|
||||||
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
|
ProductionGroup: Defense
|
||||||
|
Children:
|
||||||
|
Image@ICON:
|
||||||
|
X: 6
|
||||||
|
Y: 6
|
||||||
|
ImageCollection: production-icons
|
||||||
|
ProductionTypeButton@INFANTRY:
|
||||||
|
Logic: AddRaceSuffixLogic
|
||||||
|
Y: 62
|
||||||
|
Width: 28
|
||||||
|
Height: 28
|
||||||
|
VisualHeight: 0
|
||||||
|
Background: sidebar-button
|
||||||
|
TooltipText: Infantry
|
||||||
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
|
ProductionGroup: Infantry
|
||||||
|
Children:
|
||||||
|
Image@ICON:
|
||||||
|
X: 6
|
||||||
|
Y: 6
|
||||||
|
ImageCollection: production-icons
|
||||||
|
ProductionTypeButton@VEHICLE:
|
||||||
|
Logic: AddRaceSuffixLogic
|
||||||
|
Y: 93
|
||||||
|
Width: 28
|
||||||
|
Height: 28
|
||||||
|
VisualHeight: 0
|
||||||
|
Background: sidebar-button
|
||||||
|
TooltipText: Vehicles
|
||||||
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
|
ProductionGroup: Vehicle
|
||||||
|
Children:
|
||||||
|
Image@ICON:
|
||||||
|
X: 6
|
||||||
|
Y: 6
|
||||||
|
ImageCollection: production-icons
|
||||||
|
ProductionTypeButton@AIRCRAFT:
|
||||||
|
Logic: AddRaceSuffixLogic
|
||||||
|
Y: 124
|
||||||
|
Width: 28
|
||||||
|
Height: 28
|
||||||
|
VisualHeight: 0
|
||||||
|
Background: sidebar-button
|
||||||
|
TooltipText: Aircraft
|
||||||
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
|
ProductionGroup: Aircraft
|
||||||
|
Children:
|
||||||
|
Image@ICON:
|
||||||
|
X: 6
|
||||||
|
Y: 6
|
||||||
|
ImageCollection: production-icons
|
||||||
|
ProductionTypeButton@AIRCRAFT:
|
||||||
|
Logic: AddRaceSuffixLogic
|
||||||
|
Y: 155
|
||||||
|
Width: 28
|
||||||
|
Height: 28
|
||||||
|
VisualHeight: 0
|
||||||
|
Background: sidebar-button
|
||||||
|
TooltipText: Naval
|
||||||
|
TooltipContainer: TOOLTIP_CONTAINER
|
||||||
|
ProductionGroup: Ship
|
||||||
|
Children:
|
||||||
|
Image@ICON:
|
||||||
|
X: 6
|
||||||
|
Y: 6
|
||||||
|
ImageCollection: production-icons
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
Container@INGAME_ROOT:
|
Container@INGAME_ROOT:
|
||||||
Logic: IngameChromeLogic
|
Logic: LoadIngamePlayerOrObserverUILogic
|
||||||
Children:
|
Children:
|
||||||
LogicTicker@DISCONNECT_WATCHER:
|
LogicTicker@DISCONNECT_WATCHER:
|
||||||
Logic: DisconnectWatcherLogic
|
Logic: DisconnectWatcherLogic
|
||||||
@@ -19,41 +19,14 @@ Container@INGAME_ROOT:
|
|||||||
Y: 0
|
Y: 0
|
||||||
Width: WINDOW_RIGHT
|
Width: WINDOW_RIGHT
|
||||||
Height: WINDOW_BOTTOM
|
Height: WINDOW_BOTTOM
|
||||||
Container@GAME_TIMER_BLOCK:
|
|
||||||
Logic: GameTimerLogic
|
|
||||||
X: WINDOW_RIGHT/2 - WIDTH
|
|
||||||
Width: 100
|
|
||||||
Height: 55
|
|
||||||
Children:
|
|
||||||
Label@GAME_TIMER:
|
|
||||||
Width: PARENT_RIGHT
|
|
||||||
Height: 15
|
|
||||||
Align: Center
|
|
||||||
Font: Title
|
|
||||||
Contrast: true
|
|
||||||
Label@GAME_TIMER_STATUS:
|
|
||||||
Y: 35
|
|
||||||
Width: PARENT_RIGHT
|
|
||||||
Height: 15
|
|
||||||
Align: Center
|
|
||||||
Font: Bold
|
|
||||||
Contrast: true
|
|
||||||
StrategicProgress@STRATEGIC_PROGRESS:
|
StrategicProgress@STRATEGIC_PROGRESS:
|
||||||
X: WINDOW_RIGHT/2
|
X: WINDOW_RIGHT/2
|
||||||
Y: 40
|
Y: 40
|
||||||
SupportPowerTimer@SUPPORT_POWER_TIMER:
|
SupportPowerTimer@SUPPORT_POWER_TIMER:
|
||||||
X: 80
|
X: 80
|
||||||
Y: 34
|
Y: 10
|
||||||
Order: Descending
|
Order: Descending
|
||||||
Container@PLAYER_ROOT:
|
Container@PLAYER_ROOT:
|
||||||
Button@INGAME_OPTIONS_BUTTON:
|
|
||||||
X: 0
|
|
||||||
Y: 0
|
|
||||||
Width: 160
|
|
||||||
Height: 25
|
|
||||||
Text: Options (ESC)
|
|
||||||
Font: Bold
|
|
||||||
Key: escape
|
|
||||||
Container@PERFORMANCE_INFO:
|
Container@PERFORMANCE_INFO:
|
||||||
Logic: PerfDebugLogic
|
Logic: PerfDebugLogic
|
||||||
Children:
|
Children:
|
||||||
|
|||||||
@@ -108,3 +108,63 @@ Background@CLIENT_TOOLTIP:
|
|||||||
Height: 10
|
Height: 10
|
||||||
Font: TinyBold
|
Font: TinyBold
|
||||||
|
|
||||||
|
Background@PRODUCTION_TOOLTIP:
|
||||||
|
Logic: ProductionTooltipLogic
|
||||||
|
Background: dialog4
|
||||||
|
Width: 200
|
||||||
|
Height: 65
|
||||||
|
Children:
|
||||||
|
Label@NAME:
|
||||||
|
X: 7
|
||||||
|
Y: 2
|
||||||
|
Height: 23
|
||||||
|
Font: Bold
|
||||||
|
Label@REQUIRES:
|
||||||
|
X: 7
|
||||||
|
Y: 21
|
||||||
|
Height: 23
|
||||||
|
Font: TinyBold
|
||||||
|
Text: Requires {0}
|
||||||
|
Label@DESC:
|
||||||
|
X: 7
|
||||||
|
Y: 41
|
||||||
|
Height: 23
|
||||||
|
Font: TinyBold
|
||||||
|
VAlign: Top
|
||||||
|
Label@COST:
|
||||||
|
Height: 23
|
||||||
|
Font: Bold
|
||||||
|
Label@TIME:
|
||||||
|
Y: 21
|
||||||
|
Height: 23
|
||||||
|
Font: Bold
|
||||||
|
Label@POWER:
|
||||||
|
Y: 41
|
||||||
|
Height: 23
|
||||||
|
Font: Bold
|
||||||
|
Label@TIME:
|
||||||
|
Y: 41
|
||||||
|
Height: 23
|
||||||
|
Font: Bold
|
||||||
|
|
||||||
|
Background@SUPPORT_POWER_TOOLTIP:
|
||||||
|
Logic: SupportPowerTooltipLogic
|
||||||
|
Background: dialog4
|
||||||
|
Width: 200
|
||||||
|
Height: 29
|
||||||
|
Children:
|
||||||
|
Label@NAME:
|
||||||
|
X: 7
|
||||||
|
Y: 2
|
||||||
|
Height: 20
|
||||||
|
Font: Bold
|
||||||
|
Label@TIME:
|
||||||
|
X: 20
|
||||||
|
Y: 8
|
||||||
|
Font: TinyBold
|
||||||
|
VAlign: Top
|
||||||
|
Label@DESC:
|
||||||
|
X: 7
|
||||||
|
Y: 22
|
||||||
|
Font: TinyBold
|
||||||
|
VAlign: Top
|
||||||
@@ -16,7 +16,8 @@ World:
|
|||||||
LightPaletteRotator:
|
LightPaletteRotator:
|
||||||
ExcludePalettes: terrain, effect
|
ExcludePalettes: terrain, effect
|
||||||
BuildingInfluence:
|
BuildingInfluence:
|
||||||
ChooseBuildTabOnSelect:
|
ProductionQueueFromSelection:
|
||||||
|
ProductionPaletteWidget: PRODUCTION_PALETTE
|
||||||
BridgeLayer:
|
BridgeLayer:
|
||||||
Bridges: bridge1, bridge2, br1, br2, br3, sbridge1, sbridge2, sbridge3, sbridge4
|
Bridges: bridge1, bridge2, br1, br2, br3, sbridge1, sbridge2, sbridge3, sbridge4
|
||||||
CrateSpawner:
|
CrateSpawner:
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 39 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 39 KiB |
BIN
mods/ra/uibits/chrome.png
Normal file
BIN
mods/ra/uibits/chrome.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 106 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 32 KiB |
Reference in New Issue
Block a user