Merge pull request #6753 from pchote/ingame-menu-cleanup

Ingame menu cleanup
This commit is contained in:
Matthias Mailänder
2014-10-18 12:52:17 +02:00
18 changed files with 316 additions and 279 deletions

View File

@@ -19,7 +19,9 @@ namespace OpenRA.Mods.Common.Widgets.Logic
public LoadIngamePlayerOrObserverUILogic(Widget widget, World world) public LoadIngamePlayerOrObserverUILogic(Widget widget, World world)
{ {
var ingameRoot = widget.Get("INGAME_ROOT"); var ingameRoot = widget.Get("INGAME_ROOT");
var playerRoot = ingameRoot.Get("PLAYER_ROOT"); var worldRoot = ingameRoot.Get("WORLD_ROOT");
var menuRoot = ingameRoot.Get("MENU_ROOT");
var playerRoot = worldRoot.Get("PLAYER_ROOT");
if (world.LocalPlayer == null) if (world.LocalPlayer == null)
Game.LoadWidget(world, "OBSERVER_WIDGETS", playerRoot, new WidgetArgs()); Game.LoadWidget(world, "OBSERVER_WIDGETS", playerRoot, new WidgetArgs());
@@ -40,14 +42,14 @@ namespace OpenRA.Mods.Common.Widgets.Logic
}; };
} }
Game.LoadWidget(world, "CHAT_PANEL", ingameRoot, new WidgetArgs()); Game.LoadWidget(world, "CHAT_PANEL", worldRoot, new WidgetArgs());
Action showLeaveMapWidget = () => world.GameOver += () =>
{ {
ingameRoot.RemoveChildren(); worldRoot.RemoveChildren();
Game.LoadWidget(world, "LEAVE_MAP_WIDGET", Ui.Root, new WidgetArgs()); menuRoot.RemoveChildren();
Game.LoadWidget(world, "LEAVE_MAP_WIDGET", menuRoot, new WidgetArgs());
}; };
world.GameOver += showLeaveMapWidget;
} }
} }
} }

View File

@@ -25,7 +25,9 @@ namespace OpenRA.Mods.D2k.Widgets.Logic
{ {
public class IngameChromeLogic public class IngameChromeLogic
{ {
readonly Widget gameRoot; readonly Widget ingameRoot;
readonly Widget worldRoot;
readonly Widget menuRoot;
readonly Widget playerRoot; readonly Widget playerRoot;
readonly World world; readonly World world;
@@ -33,8 +35,10 @@ namespace OpenRA.Mods.D2k.Widgets.Logic
public IngameChromeLogic(World world) public IngameChromeLogic(World world)
{ {
this.world = world; this.world = world;
gameRoot = Ui.Root.Get("INGAME_ROOT"); ingameRoot = Ui.Root.Get("INGAME_ROOT");
playerRoot = gameRoot.Get("PLAYER_ROOT"); worldRoot = ingameRoot.Get("WORLD_ROOT");
menuRoot = ingameRoot.Get("MENU_ROOT");
playerRoot = worldRoot.Get("PLAYER_ROOT");
InitRootWidgets(); InitRootWidgets();
if (world.LocalPlayer == null) if (world.LocalPlayer == null)
@@ -45,14 +49,14 @@ namespace OpenRA.Mods.D2k.Widgets.Logic
void InitRootWidgets() void InitRootWidgets()
{ {
Game.LoadWidget(world, "CHAT_PANEL", gameRoot, new WidgetArgs()); Game.LoadWidget(world, "CHAT_PANEL", worldRoot, new WidgetArgs());
Action ShowLeaveMapWidget = () => world.GameOver += () =>
{ {
gameRoot.RemoveChildren(); worldRoot.RemoveChildren();
Game.LoadWidget(world, "LEAVE_MAP_WIDGET", Ui.Root, new WidgetArgs()); menuRoot.RemoveChildren();
Game.LoadWidget(world, "LEAVE_MAP_WIDGET", menuRoot, new WidgetArgs());
}; };
world.GameOver += ShowLeaveMapWidget;
} }
void InitObserverWidgets() void InitObserverWidgets()

View File

@@ -31,6 +31,10 @@ namespace OpenRA.Mods.RA.Widgets
{ {
this.orderManager = orderManager; this.orderManager = orderManager;
var mpe = world.WorldActor.TraitOrDefault<MenuPaletteEffect>();
if (mpe != null)
mpe.Fade(mpe.Info.MenuEffect);
widget.Get<LabelWidget>("VERSION_LABEL").Text = Game.modData.Manifest.Mod.Version; widget.Get<LabelWidget>("VERSION_LABEL").Text = Game.modData.Manifest.Mod.Version;
var showStats = false; var showStats = false;
@@ -95,7 +99,6 @@ namespace OpenRA.Mods.RA.Widgets
leaveButton.OnClick = () => leaveButton.OnClick = () =>
{ {
leaveButton.Disabled = true; leaveButton.Disabled = true;
var mpe = world.WorldActor.TraitOrDefault<MenuPaletteEffect>();
Sound.PlayNotification(world.Map.Rules, null, "Speech", "Leave", Sound.PlayNotification(world.Map.Rules, null, "Speech", "Leave",
world.LocalPlayer == null ? null : world.LocalPlayer.Country.Race); world.LocalPlayer == null ? null : world.LocalPlayer.Country.Race);

View File

@@ -56,7 +56,6 @@ namespace OpenRA.Mods.RA.Widgets.Logic
Action closeMenu = () => Action closeMenu = () =>
{ {
Ui.CloseWindow(); Ui.CloseWindow();
Ui.Root.RemoveChild(menu);
if (mpe != null) if (mpe != null)
mpe.Fade(MenuPaletteEffect.EffectType.None); mpe.Fade(MenuPaletteEffect.EffectType.None);
onExit(); onExit();
@@ -110,12 +109,16 @@ namespace OpenRA.Mods.RA.Widgets.Logic
resumeButton.IsDisabled = () => resumeDisabled; resumeButton.IsDisabled = () => resumeDisabled;
resumeButton.OnClick = closeMenu; resumeButton.OnClick = closeMenu;
// Game info panel var panelRoot = widget.GetOrNull("PANEL_ROOT");
var gameInfoPanel = Game.LoadWidget(world, "GAME_INFO_PANEL", menu, new WidgetArgs() if (panelRoot != null)
{ {
{ "activePanel", activePanel } var gameInfoPanel = Game.LoadWidget(world, "GAME_INFO_PANEL", panelRoot, new WidgetArgs()
}); {
gameInfoPanel.IsVisible = () => !hideMenu; { "activePanel", activePanel }
});
gameInfoPanel.IsVisible = () => !hideMenu;
}
} }
} }
} }

View File

@@ -20,7 +20,8 @@ namespace OpenRA.Mods.RA.Widgets.Logic
public class OrderButtonsChromeLogic public class OrderButtonsChromeLogic
{ {
readonly World world; readonly World world;
readonly Widget ingameRoot; readonly Widget worldRoot;
readonly Widget menuRoot;
bool disableSystemButtons; bool disableSystemButtons;
Widget currentWidget; Widget currentWidget;
@@ -28,9 +29,11 @@ namespace OpenRA.Mods.RA.Widgets.Logic
public OrderButtonsChromeLogic(Widget widget, World world) public OrderButtonsChromeLogic(Widget widget, World world)
{ {
this.world = world; this.world = world;
ingameRoot = Ui.Root.Get("INGAME_ROOT"); var ingameRoot = Ui.Root.Get("INGAME_ROOT");
worldRoot = ingameRoot.Get("WORLD_ROOT");
menuRoot = ingameRoot.Get("MENU_ROOT");
Action removeCurrentWidget = () => Ui.Root.RemoveChild(currentWidget); Action removeCurrentWidget = () => menuRoot.RemoveChild(currentWidget);
world.GameOver += removeCurrentWidget; world.GameOver += removeCurrentWidget;
// Order Buttons // Order Buttons
@@ -127,7 +130,7 @@ namespace OpenRA.Mods.RA.Widgets.Logic
var cachedPause = world.PredictedPaused; var cachedPause = world.PredictedPaused;
if (button.HideIngameUI) if (button.HideIngameUI)
ingameRoot.IsVisible = () => false; worldRoot.IsVisible = () => false;
if (button.Pause && world.LobbyInfo.IsSinglePlayer) if (button.Pause && world.LobbyInfo.IsSinglePlayer)
world.SetPauseState(true); world.SetPauseState(true);
@@ -136,15 +139,16 @@ namespace OpenRA.Mods.RA.Widgets.Logic
widgetArgs.Add("onExit", () => widgetArgs.Add("onExit", () =>
{ {
if (button.HideIngameUI) if (button.HideIngameUI)
ingameRoot.IsVisible = () => true; worldRoot.IsVisible = () => true;
if (button.Pause && world.LobbyInfo.IsSinglePlayer) if (button.Pause && world.LobbyInfo.IsSinglePlayer)
world.SetPauseState(cachedPause); world.SetPauseState(cachedPause);
menuRoot.RemoveChild(currentWidget);
disableSystemButtons = false; disableSystemButtons = false;
}); });
currentWidget = Game.LoadWidget(world, button.MenuContainer, Ui.Root, widgetArgs); currentWidget = Game.LoadWidget(world, button.MenuContainer, menuRoot, widgetArgs);
} }
static void BindOrderButton<T>(World world, ButtonWidget w, string icon) static void BindOrderButton<T>(World world, ButtonWidget w, string icon)

View File

@@ -1,5 +1,5 @@
Container@MAP_PANEL: Container@MAP_PANEL:
Height: PARENT_BOTTOM Height: PARENT_BOTTOM
Width: PARENT_RIGHT Width: PARENT_RIGHT
Logic: GameInfoBriefingLogic Logic: GameInfoBriefingLogic
Children: Children:

View File

@@ -18,7 +18,7 @@ Container@LEAVE_MAP_WIDGET:
Width: WINDOW_RIGHT Width: WINDOW_RIGHT
Height: WINDOW_BOTTOM Height: WINDOW_BOTTOM
Background: shellmapborder Background: shellmapborder
Container@LEAVE_MAP_SIMPLE Container@LEAVE_MAP_SIMPLE:
X: (WINDOW_RIGHT - WIDTH) / 2 X: (WINDOW_RIGHT - WIDTH) / 2
Y: (WINDOW_BOTTOM - HEIGHT) / 2 Y: (WINDOW_BOTTOM - HEIGHT) / 2
Width: 370 Width: 370

View File

@@ -20,6 +20,7 @@ Container@INGAME_MENU:
Width: WINDOW_RIGHT Width: WINDOW_RIGHT
Height: WINDOW_BOTTOM Height: WINDOW_BOTTOM
Background: shellmapborder Background: shellmapborder
Container@PANEL_ROOT:
Container@MENU_BUTTONS: Container@MENU_BUTTONS:
X: (WINDOW_RIGHT-WIDTH)/2 X: (WINDOW_RIGHT-WIDTH)/2
Y: WINDOW_BOTTOM-33-HEIGHT-10 Y: WINDOW_BOTTOM-33-HEIGHT-10

View File

@@ -1,60 +1,63 @@
Container@INGAME_ROOT: Container@INGAME_ROOT:
Logic: LoadIngamePlayerOrObserverUILogic Logic: LoadIngamePlayerOrObserverUILogic
Children: Children:
LogicTicker@DISCONNECT_WATCHER: Container@WORLD_ROOT:
Logic: DisconnectWatcherLogic
Container@GAME_TIMER_BLOCK:
Logic: GameTimerLogic
X: WINDOW_RIGHT/2 - WIDTH
Width: 100
Height: 55
Children: Children:
Label@GAME_TIMER: LogicTicker@DISCONNECT_WATCHER:
Width: PARENT_RIGHT Logic: DisconnectWatcherLogic
Height: 30 Container@GAME_TIMER_BLOCK:
Align: Center Logic: GameTimerLogic
Font: Title X: WINDOW_RIGHT/2 - WIDTH
Contrast: true Width: 100
Label@GAME_TIMER_STATUS: Height: 55
Y: 35
Width: PARENT_RIGHT
Height: 15
Align: Center
Font: Bold
Contrast: true
StrategicProgress@STRATEGIC_PROGRESS:
X: WINDOW_RIGHT/2
Y: 40
Container@PERFORMANCE_INFO:
Logic: PerfDebugLogic
Children:
Label@PERF_TEXT:
X: WINDOW_RIGHT - 200
Y: WINDOW_BOTTOM - 70
Width: 170
Height: 40
Contrast: true
VAlign: Top
Background@GRAPH_BG:
X: 10
Y: WINDOW_BOTTOM-HEIGHT-10
Width: 220
Height: 220
Background: panel-black
Children: Children:
PerfGraph@GRAPH: Label@GAME_TIMER:
Width: PARENT_RIGHT
Height: 30
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:
X: WINDOW_RIGHT/2
Y: 40
Container@PERFORMANCE_INFO:
Logic: PerfDebugLogic
Children:
Label@PERF_TEXT:
X: WINDOW_RIGHT - 200
Y: WINDOW_BOTTOM - 70
Width: 170
Height: 40
Contrast: true
VAlign: Top
Background@GRAPH_BG:
X: 10 X: 10
Y: 10 Y: WINDOW_BOTTOM-HEIGHT-10
Width: 200 Width: 220
Height: 200 Height: 220
WorldInteractionController@INTERACTION_CONTROLLER: Background: panel-black
Width: WINDOW_RIGHT Children:
Height: WINDOW_BOTTOM PerfGraph@GRAPH:
ViewportController: X: 10
Width: WINDOW_RIGHT Y: 10
Height: WINDOW_BOTTOM Width: 200
TooltipContainer: TOOLTIP_CONTAINER Height: 200
Container@PLAYER_ROOT: WorldInteractionController@INTERACTION_CONTROLLER:
Width: WINDOW_RIGHT
Height: WINDOW_BOTTOM
ViewportController:
Width: WINDOW_RIGHT
Height: WINDOW_BOTTOM
TooltipContainer: TOOLTIP_CONTAINER
Container@PLAYER_ROOT:
Container@MENU_ROOT:
TooltipContainer@TOOLTIP_CONTAINER: TooltipContainer@TOOLTIP_CONTAINER:
Container@OBSERVER_WIDGETS: Container@OBSERVER_WIDGETS:

View File

@@ -9,6 +9,7 @@ Container@INGAME_MENU:
Align: Right Align: Right
Font: Regular Font: Regular
Contrast: True Contrast: True
Container@PANEL_ROOT:
Background@MENU_BUTTONS: Background@MENU_BUTTONS:
X: 13 + (WINDOW_RIGHT - 522) / 4 - WIDTH / 2 X: 13 + (WINDOW_RIGHT - 522) / 4 - WIDTH / 2
Y: (WINDOW_BOTTOM - HEIGHT)/2 Y: (WINDOW_BOTTOM - HEIGHT)/2

View File

@@ -1,5 +1,14 @@
Container@OBSERVER_WIDGETS: Container@OBSERVER_WIDGETS:
Children: Children:
MenuButton@OPTIONS_BUTTON:
Logic: OrderButtonsChromeLogic
X: 0
Y: 0
Width: 160
Height: 25
Text: Options (Esc)
Font: Bold
Key: escape
MenuButton@OBSERVER_STATS_BUTTON: MenuButton@OBSERVER_STATS_BUTTON:
Logic: OrderButtonsChromeLogic Logic: OrderButtonsChromeLogic
MenuContainer: INGAME_OBSERVERSTATS_BG MenuContainer: INGAME_OBSERVERSTATS_BG

View File

@@ -3,6 +3,15 @@ Container@PLAYER_WIDGETS:
LogicKeyListener@CONTROLGROUP_KEYHANDLER: LogicKeyListener@CONTROLGROUP_KEYHANDLER:
Logic: ControlGroupLogic Logic: ControlGroupLogic
LogicTicker@SIDEBAR_TICKER: LogicTicker@SIDEBAR_TICKER:
MenuButton@OPTIONS_BUTTON:
Logic: OrderButtonsChromeLogic
X: 0
Y: 0
Width: 160
Height: 25
Text: Options (Esc)
Font: Bold
Key: escape
MenuButton@DIPLOMACY_BUTTON: MenuButton@DIPLOMACY_BUTTON:
Logic: OrderButtonsChromeLogic Logic: OrderButtonsChromeLogic
MenuContainer: INGAME_DIPLOMACY_BG MenuContainer: INGAME_DIPLOMACY_BG

View File

@@ -1,81 +1,74 @@
Container@INGAME_ROOT: Container@INGAME_ROOT:
Logic: IngameChromeLogic Logic: IngameChromeLogic
Children: Children:
LogicTicker@DISCONNECT_WATCHER: Container@WORLD_ROOT:
Logic: DisconnectWatcherLogic
WorldInteractionController@INTERACTION_CONTROLLER:
X: 0
Y: 0
Width: WINDOW_RIGHT
Height: WINDOW_BOTTOM
ViewportController:
X: 0
Y: 0
Width: WINDOW_RIGHT
Height: WINDOW_BOTTOM
TooltipContainer: TOOLTIP_CONTAINER
WorldCommand:
X: 0
Y: 0
Width: WINDOW_RIGHT
Height: WINDOW_BOTTOM
Container@GAME_TIMER_BLOCK:
Logic: GameTimerLogic
X: WINDOW_RIGHT/2 - WIDTH
Width: 100
Height: 55
Children: Children:
Label@GAME_TIMER: LogicTicker@DISCONNECT_WATCHER:
Width: PARENT_RIGHT Logic: DisconnectWatcherLogic
Height: 30 WorldInteractionController@INTERACTION_CONTROLLER:
Align: Center X: 0
Font: Title Y: 0
Contrast: true Width: WINDOW_RIGHT
Label@GAME_TIMER_STATUS: Height: WINDOW_BOTTOM
Y: 32 ViewportController:
Width: PARENT_RIGHT X: 0
Height: 15 Y: 0
Align: Center Width: WINDOW_RIGHT
Font: Bold Height: WINDOW_BOTTOM
Contrast: true TooltipContainer: TOOLTIP_CONTAINER
StrategicProgress@STRATEGIC_PROGRESS: WorldCommand:
X: WINDOW_RIGHT/2 X: 0
Y: 40 Y: 0
SupportPowerTimer@SUPPORT_POWER_TIMER: Width: WINDOW_RIGHT
X: 80 Height: WINDOW_BOTTOM
Y: 34 StrategicProgress@STRATEGIC_PROGRESS:
Order: Descending X: WINDOW_RIGHT/2
Container@PLAYER_ROOT: Y: 40
MenuButton@OPTIONS_BUTTON: SupportPowerTimer@SUPPORT_POWER_TIMER:
Logic: OrderButtonsChromeLogic X: 80
X: 0 Y: 34
Y: 0 Order: Descending
Width: 160 Container@PLAYER_ROOT:
Height: 25 Container@PERFORMANCE_INFO:
Text: Options (Esc) Logic: PerfDebugLogic
Font: Bold
Key: escape
Container@PERFORMANCE_INFO:
Logic: PerfDebugLogic
Children:
Label@PERF_TEXT:
X: WINDOW_RIGHT - 200
Y: WINDOW_BOTTOM - 70
Width: 170
Height: 40
Contrast: true
Background@GRAPH_BG:
ClickThrough: true
Background: dialog4
X: 30
Y: WINDOW_BOTTOM - 240
Width: 210
Height: 210
Children: Children:
PerfGraph@GRAPH: Label@PERF_TEXT:
X: 5 X: WINDOW_RIGHT - 200
Y: 5 Y: WINDOW_BOTTOM - 70
Width: 200 Width: 170
Height: 200 Height: 40
Contrast: true
Background@GRAPH_BG:
ClickThrough: true
Background: dialog4
X: 30
Y: WINDOW_BOTTOM - 240
Width: 210
Height: 210
Children:
PerfGraph@GRAPH:
X: 5
Y: 5
Width: 200
Height: 200
Container@GAME_TIMER_BLOCK:
Logic: GameTimerLogic
X: WINDOW_RIGHT/2 - WIDTH
Width: 100
Height: 55
Children:
Label@GAME_TIMER:
Width: PARENT_RIGHT
Height: 30
Align: Center
Font: Title
Contrast: true
Label@GAME_TIMER_STATUS:
Y: 32
Width: PARENT_RIGHT
Height: 15
Align: Center
Font: Bold
Contrast: true
Container@MENU_ROOT:
TooltipContainer@TOOLTIP_CONTAINER: TooltipContainer@TOOLTIP_CONTAINER:

View File

@@ -20,7 +20,7 @@ Container@LEAVE_MAP_WIDGET:
Align: Center Align: Center
Font: Regular Font: Regular
Contrast: True Contrast: True
Container@LEAVE_MAP_SIMPLE Container@LEAVE_MAP_SIMPLE:
X: (WINDOW_RIGHT - WIDTH) / 2 X: (WINDOW_RIGHT - WIDTH) / 2
Y: (WINDOW_BOTTOM - HEIGHT) / 2 Y: (WINDOW_BOTTOM - HEIGHT) / 2
Width: 370 Width: 370

View File

@@ -22,6 +22,7 @@ Container@INGAME_MENU:
Align: Center Align: Center
Font: Regular Font: Regular
Contrast: True Contrast: True
Container@PANEL_ROOT:
Background@MENU_BUTTONS: Background@MENU_BUTTONS:
X: 13 + (WINDOW_RIGHT - 522) / 4 - WIDTH / 2 X: 13 + (WINDOW_RIGHT - 522) / 4 - WIDTH / 2
Y: (WINDOW_BOTTOM - HEIGHT)/2 Y: (WINDOW_BOTTOM - HEIGHT)/2

View File

@@ -1,53 +1,55 @@
Container@INGAME_ROOT: Container@INGAME_ROOT:
Logic: LoadIngamePlayerOrObserverUILogic Logic: LoadIngamePlayerOrObserverUILogic
Children: Children:
LogicTicker@DISCONNECT_WATCHER: Container@WORLD_ROOT:
Logic: DisconnectWatcherLogic
WorldInteractionController@INTERACTION_CONTROLLER:
X: 0
Y: 0
Width: WINDOW_RIGHT
Height: WINDOW_BOTTOM
ViewportController:
X: 0
Y: 0
Width: WINDOW_RIGHT
Height: WINDOW_BOTTOM
TooltipContainer: TOOLTIP_CONTAINER
WorldCommand:
X: 0
Y: 0
Width: WINDOW_RIGHT
Height: WINDOW_BOTTOM
StrategicProgress@STRATEGIC_PROGRESS:
X: WINDOW_RIGHT/2
Y: 40
SupportPowerTimer@SUPPORT_POWER_TIMER:
X: 80
Y: 10
Order: Descending
Container@PLAYER_ROOT:
Container@PERFORMANCE_INFO:
Logic: PerfDebugLogic
Children: Children:
Label@PERF_TEXT: LogicTicker@DISCONNECT_WATCHER:
X: WINDOW_RIGHT - 200 Logic: DisconnectWatcherLogic
Y: WINDOW_BOTTOM - 70 WorldInteractionController@INTERACTION_CONTROLLER:
Width: 170 X: 0
Height: 40 Y: 0
Contrast: true Width: WINDOW_RIGHT
Background@GRAPH_BG: Height: WINDOW_BOTTOM
ClickThrough: true ViewportController:
Background: dialog4 X: 0
X: 30 Y: 0
Y: WINDOW_BOTTOM - 240 Width: WINDOW_RIGHT
Width: 210 Height: WINDOW_BOTTOM
Height: 210 TooltipContainer: TOOLTIP_CONTAINER
WorldCommand:
X: 0
Y: 0
Width: WINDOW_RIGHT
Height: WINDOW_BOTTOM
StrategicProgress@STRATEGIC_PROGRESS:
X: WINDOW_RIGHT/2
Y: 40
SupportPowerTimer@SUPPORT_POWER_TIMER:
X: 80
Y: 10
Order: Descending
Container@PLAYER_ROOT:
Container@PERFORMANCE_INFO:
Logic: PerfDebugLogic
Children: Children:
PerfGraph@GRAPH: Label@PERF_TEXT:
X: 5 X: WINDOW_RIGHT - 200
Y: 5 Y: WINDOW_BOTTOM - 70
Width: 200 Width: 170
Height: 200 Height: 40
Contrast: true
Background@GRAPH_BG:
ClickThrough: true
Background: dialog4
X: 30
Y: WINDOW_BOTTOM - 240
Width: 210
Height: 210
Children:
PerfGraph@GRAPH:
X: 5
Y: 5
Width: 200
Height: 200
Container@MENU_ROOT:
TooltipContainer@TOOLTIP_CONTAINER: TooltipContainer@TOOLTIP_CONTAINER:

View File

@@ -3,6 +3,16 @@ Container@PLAYER_WIDGETS:
LogicKeyListener@CONTROLGROUP_KEYHANDLER: LogicKeyListener@CONTROLGROUP_KEYHANDLER:
Logic: ControlGroupLogic Logic: ControlGroupLogic
LogicTicker@SIDEBAR_TICKER: LogicTicker@SIDEBAR_TICKER:
MenuButton@OPTIONS_BUTTON:
Logic: OrderButtonsChromeLogic
MenuContainer: INGAME_MENU
X: 0
Y: 0
Width: 160
Height: 25
Text: Options (Esc)
Font: Bold
Key: escape
MenuButton@DIPLOMACY_BUTTON: MenuButton@DIPLOMACY_BUTTON:
Logic: OrderButtonsChromeLogic Logic: OrderButtonsChromeLogic
MenuContainer: INGAME_DIPLOMACY_BG MenuContainer: INGAME_DIPLOMACY_BG

View File

@@ -1,82 +1,74 @@
Container@INGAME_ROOT: Container@INGAME_ROOT:
Logic: IngameChromeLogic Logic: IngameChromeLogic
Children: Children:
LogicTicker@DISCONNECT_WATCHER: Container@WORLD_ROOT:
Logic: DisconnectWatcherLogic
WorldInteractionController@INTERACTION_CONTROLLER:
X: 0
Y: 0
Width: WINDOW_RIGHT
Height: WINDOW_BOTTOM
ViewportController:
X: 0
Y: 0
Width: WINDOW_RIGHT
Height: WINDOW_BOTTOM
TooltipContainer: TOOLTIP_CONTAINER
WorldCommand:
X: 0
Y: 0
Width: WINDOW_RIGHT
Height: WINDOW_BOTTOM
Container@GAME_TIMER_BLOCK:
Logic: GameTimerLogic
X: WINDOW_RIGHT/2 - WIDTH
Width: 100
Height: 55
Children: Children:
Label@GAME_TIMER: LogicTicker@DISCONNECT_WATCHER:
Width: PARENT_RIGHT Logic: DisconnectWatcherLogic
Height: 15 WorldInteractionController@INTERACTION_CONTROLLER:
Align: Center X: 0
Font: Title Y: 0
Contrast: true Width: WINDOW_RIGHT
Label@GAME_TIMER_STATUS: Height: WINDOW_BOTTOM
Y: 35 ViewportController:
Width: PARENT_RIGHT X: 0
Height: 15 Y: 0
Align: Center Width: WINDOW_RIGHT
Font: Bold Height: WINDOW_BOTTOM
Contrast: true TooltipContainer: TOOLTIP_CONTAINER
StrategicProgress@STRATEGIC_PROGRESS: WorldCommand:
X: WINDOW_RIGHT/2 X: 0
Y: 40 Y: 0
SupportPowerTimer@SUPPORT_POWER_TIMER: Width: WINDOW_RIGHT
X: 80 Height: WINDOW_BOTTOM
Y: 34 StrategicProgress@STRATEGIC_PROGRESS:
Order: Descending X: WINDOW_RIGHT/2
Container@PLAYER_ROOT: Y: 40
MenuButton@OPTIONS_BUTTON: SupportPowerTimer@SUPPORT_POWER_TIMER:
Logic: OrderButtonsChromeLogic X: 80
MenuContainer: INGAME_MENU Y: 34
X: 0 Order: Descending
Y: 0 Container@PLAYER_ROOT:
Width: 160 Container@PERFORMANCE_INFO:
Height: 25 Logic: PerfDebugLogic
Text: Options (Esc)
Font: Bold
Key: escape
Container@PERFORMANCE_INFO:
Logic: PerfDebugLogic
Children:
Label@PERF_TEXT:
X: WINDOW_RIGHT - 200
Y: WINDOW_BOTTOM - 70
Width: 170
Height: 40
Contrast: true
Background@GRAPH_BG:
ClickThrough: true
Background: dialog4
X: 30
Y: WINDOW_BOTTOM - 240
Width: 210
Height: 210
Children: Children:
PerfGraph@GRAPH: Label@PERF_TEXT:
X: 5 X: WINDOW_RIGHT - 200
Y: 5 Y: WINDOW_BOTTOM - 70
Width: 200 Width: 170
Height: 200 Height: 40
Contrast: true
Background@GRAPH_BG:
ClickThrough: true
Background: dialog4
X: 30
Y: WINDOW_BOTTOM - 240
Width: 210
Height: 210
Children:
PerfGraph@GRAPH:
X: 5
Y: 5
Width: 200
Height: 200
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
Container@MENU_ROOT:
TooltipContainer@TOOLTIP_CONTAINER: TooltipContainer@TOOLTIP_CONTAINER: