Start moving towards saner RA widget logic. This switches players to observer mode after they have finished playing in RA/D2k and removes some legacy code.
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
@@ -92,7 +92,6 @@
|
|||||||
<Compile Include="TiberiumRefinery.cs" />
|
<Compile Include="TiberiumRefinery.cs" />
|
||||||
<Compile Include="Widgets\CncWidgetUtils.cs" />
|
<Compile Include="Widgets\CncWidgetUtils.cs" />
|
||||||
<Compile Include="Widgets\CncWorldInteractionControllerWidget.cs" />
|
<Compile Include="Widgets\CncWorldInteractionControllerWidget.cs" />
|
||||||
<Compile Include="Widgets\LogicTickerWidget.cs" />
|
|
||||||
<Compile Include="Widgets\Logic\ButtonTooltipLogic.cs" />
|
<Compile Include="Widgets\Logic\ButtonTooltipLogic.cs" />
|
||||||
<Compile Include="Widgets\Logic\CncConquestObjectivesLogic.cs" />
|
<Compile Include="Widgets\Logic\CncConquestObjectivesLogic.cs" />
|
||||||
<Compile Include="Widgets\Logic\CncIngameChromeLogic.cs" />
|
<Compile Include="Widgets\Logic\CncIngameChromeLogic.cs" />
|
||||||
|
|||||||
@@ -8,10 +8,10 @@
|
|||||||
*/
|
*/
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
using System;
|
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using OpenRA.Mods.RA.Orders;
|
|
||||||
using OpenRA.Mods.RA.Buildings;
|
using OpenRA.Mods.RA.Buildings;
|
||||||
|
using OpenRA.Mods.RA.Orders;
|
||||||
|
using OpenRA.Mods.RA.Widgets;
|
||||||
using OpenRA.Traits;
|
using OpenRA.Traits;
|
||||||
using OpenRA.Widgets;
|
using OpenRA.Widgets;
|
||||||
|
|
||||||
|
|||||||
@@ -84,9 +84,8 @@ namespace OpenRA.Mods.D2k
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Game.LoadShellMap();
|
|
||||||
Ui.ResetAll();
|
Ui.ResetAll();
|
||||||
Ui.OpenWindow("MAINMENU_BG");
|
Game.LoadShellMap();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,40 +10,9 @@
|
|||||||
|
|
||||||
using OpenRA.Traits;
|
using OpenRA.Traits;
|
||||||
using OpenRA.Widgets;
|
using OpenRA.Widgets;
|
||||||
using System.Collections.Generic;
|
|
||||||
|
|
||||||
namespace OpenRA.Mods.RA
|
namespace OpenRA.Mods.RA
|
||||||
{
|
{
|
||||||
// Legacy crap
|
|
||||||
public class OpenWidgetAtGameStartInfo : ITraitInfo
|
|
||||||
{
|
|
||||||
public readonly string Widget = "INGAME_ROOT";
|
|
||||||
public readonly string ObserverWidget = null;
|
|
||||||
|
|
||||||
public object Create(ActorInitializer init) { return new OpenWidgetAtGameStart(this); }
|
|
||||||
}
|
|
||||||
|
|
||||||
public class OpenWidgetAtGameStart: IWorldLoaded
|
|
||||||
{
|
|
||||||
readonly OpenWidgetAtGameStartInfo Info;
|
|
||||||
public OpenWidgetAtGameStart(OpenWidgetAtGameStartInfo Info)
|
|
||||||
{
|
|
||||||
this.Info = Info;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void WorldLoaded(World world)
|
|
||||||
{
|
|
||||||
// Remove all open widgets
|
|
||||||
Ui.ResetAll();
|
|
||||||
|
|
||||||
if (world.LocalPlayer != null)
|
|
||||||
Game.OpenWindow(world, Info.Widget);
|
|
||||||
else if (Info.ObserverWidget != null)
|
|
||||||
Game.OpenWindow(world, Info.ObserverWidget);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// New version
|
|
||||||
public class LoadWidgetAtGameStartInfo : ITraitInfo
|
public class LoadWidgetAtGameStartInfo : ITraitInfo
|
||||||
{
|
{
|
||||||
public readonly string Widget = null;
|
public readonly string Widget = null;
|
||||||
@@ -267,7 +267,7 @@
|
|||||||
<Compile Include="Move\PathSearch.cs" />
|
<Compile Include="Move\PathSearch.cs" />
|
||||||
<Compile Include="NukePaletteEffect.cs" />
|
<Compile Include="NukePaletteEffect.cs" />
|
||||||
<Compile Include="NullLoadScreen.cs" />
|
<Compile Include="NullLoadScreen.cs" />
|
||||||
<Compile Include="OpenWidgetAtGameStart.cs" />
|
<Compile Include="LoadWidgetAtGameStart.cs" />
|
||||||
<Compile Include="Orders\DeployOrderTargeter.cs" />
|
<Compile Include="Orders\DeployOrderTargeter.cs" />
|
||||||
<Compile Include="Orders\EnterBuildingOrderTargeter.cs" />
|
<Compile Include="Orders\EnterBuildingOrderTargeter.cs" />
|
||||||
<Compile Include="Orders\PlaceBuildingOrderGenerator.cs" />
|
<Compile Include="Orders\PlaceBuildingOrderGenerator.cs" />
|
||||||
@@ -370,6 +370,8 @@
|
|||||||
<Compile Include="Valued.cs" />
|
<Compile Include="Valued.cs" />
|
||||||
<Compile Include="WaterPaletteRotation.cs" />
|
<Compile Include="WaterPaletteRotation.cs" />
|
||||||
<Compile Include="Widgets\BuildPaletteWidget.cs" />
|
<Compile Include="Widgets\BuildPaletteWidget.cs" />
|
||||||
|
<Compile Include="Widgets\LogicTickerWidget.cs" />
|
||||||
|
<Compile Include="Widgets\Logic\IngameMenuLogic.cs" />
|
||||||
<Compile Include="Widgets\Logic\ModBrowserLogic.cs" />
|
<Compile Include="Widgets\Logic\ModBrowserLogic.cs" />
|
||||||
<Compile Include="Widgets\Logic\ColorPickerLogic.cs" />
|
<Compile Include="Widgets\Logic\ColorPickerLogic.cs" />
|
||||||
<Compile Include="Widgets\Logic\ConnectionLogic.cs" />
|
<Compile Include="Widgets\Logic\ConnectionLogic.cs" />
|
||||||
@@ -378,7 +380,6 @@
|
|||||||
<Compile Include="Widgets\Logic\DownloadPackagesLogic.cs" />
|
<Compile Include="Widgets\Logic\DownloadPackagesLogic.cs" />
|
||||||
<Compile Include="Widgets\Logic\IngameChatLogic.cs" />
|
<Compile Include="Widgets\Logic\IngameChatLogic.cs" />
|
||||||
<Compile Include="Widgets\Logic\IngameChromeLogic.cs" />
|
<Compile Include="Widgets\Logic\IngameChromeLogic.cs" />
|
||||||
<Compile Include="Widgets\Logic\IngameObserverChromeLogic.cs" />
|
|
||||||
<Compile Include="Widgets\Logic\LobbyLogic.cs" />
|
<Compile Include="Widgets\Logic\LobbyLogic.cs" />
|
||||||
<Compile Include="Widgets\Logic\LobbyUtils.cs" />
|
<Compile Include="Widgets\Logic\LobbyUtils.cs" />
|
||||||
<Compile Include="Widgets\Logic\MainMenuButtonsLogic.cs" />
|
<Compile Include="Widgets\Logic\MainMenuButtonsLogic.cs" />
|
||||||
|
|||||||
@@ -87,11 +87,7 @@ namespace OpenRA.Mods.RA
|
|||||||
Ui.OpenWindow(Info["InstallerMenuWidget"], args);
|
Ui.OpenWindow(Info["InstallerMenuWidget"], args);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
|
||||||
Game.LoadShellMap();
|
Game.LoadShellMap();
|
||||||
Ui.ResetAll();
|
|
||||||
Ui.OpenWindow("MAINMENU_BG");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#region Copyright & License Information
|
#region Copyright & License Information
|
||||||
/*
|
/*
|
||||||
* Copyright 2007-2011 The OpenRA Developers (see AUTHORS)
|
* Copyright 2007-2013 The OpenRA Developers (see AUTHORS)
|
||||||
* This file is part of OpenRA, which is free software. It is made
|
* 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
|
* available to you under the terms of the GNU General Public License
|
||||||
* as published by the Free Software Foundation. For more information,
|
* as published by the Free Software Foundation. For more information,
|
||||||
@@ -19,99 +19,92 @@ namespace OpenRA.Mods.RA.Widgets.Logic
|
|||||||
public class IngameChromeLogic
|
public class IngameChromeLogic
|
||||||
{
|
{
|
||||||
Widget gameRoot;
|
Widget gameRoot;
|
||||||
|
Widget playerRoot;
|
||||||
|
World world;
|
||||||
|
|
||||||
[ObjectCreator.UseCtor]
|
[ObjectCreator.UseCtor]
|
||||||
public IngameChromeLogic(World world)
|
public IngameChromeLogic(World world)
|
||||||
{
|
{
|
||||||
var r = Ui.Root;
|
this.world = world;
|
||||||
gameRoot = r.Get("INGAME_ROOT");
|
gameRoot = Ui.Root.Get("INGAME_ROOT");
|
||||||
var optionsBG = gameRoot.Get("INGAME_OPTIONS_BG");
|
playerRoot = gameRoot.Get("PLAYER_ROOT");
|
||||||
|
|
||||||
// TODO: RA's broken UI wiring makes it unreasonably difficult to
|
InitRootWidgets();
|
||||||
// cache and restore the previous pause state, so opening/closing
|
if (world.LocalPlayer == null)
|
||||||
// the menu in a paused singleplayer game will un-pause the game.
|
InitObserverWidgets();
|
||||||
r.Get<ButtonWidget>("INGAME_OPTIONS_BUTTON").OnClick = () =>
|
else
|
||||||
|
InitPlayerWidgets();
|
||||||
|
}
|
||||||
|
|
||||||
|
void InitRootWidgets()
|
||||||
|
{
|
||||||
|
Widget optionsBG = null;
|
||||||
|
optionsBG = Game.LoadWidget(world, "INGAME_OPTIONS_BG", Ui.Root, new WidgetArgs
|
||||||
{
|
{
|
||||||
optionsBG.Visible = !optionsBG.Visible;
|
{ "onExit", () =>
|
||||||
|
{
|
||||||
|
if (world.LobbyInfo.IsSinglePlayer)
|
||||||
|
world.IssueOrder(Order.PauseGame(false));
|
||||||
|
optionsBG.Visible = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
gameRoot.Get<ButtonWidget>("INGAME_OPTIONS_BUTTON").OnClick = () =>
|
||||||
|
{
|
||||||
|
optionsBG.Visible ^= true;
|
||||||
if (world.LobbyInfo.IsSinglePlayer)
|
if (world.LobbyInfo.IsSinglePlayer)
|
||||||
world.IssueOrder(Order.PauseGame(true));
|
world.IssueOrder(Order.PauseGame(optionsBG.Visible));
|
||||||
};
|
};
|
||||||
|
|
||||||
var cheatsButton = gameRoot.Get<ButtonWidget>("CHEATS_BUTTON");
|
Game.LoadWidget(world, "CHAT_PANEL", gameRoot, new WidgetArgs());
|
||||||
cheatsButton.OnClick = () =>
|
}
|
||||||
|
|
||||||
|
void InitObserverWidgets()
|
||||||
|
{
|
||||||
|
var observerWidgets = Game.LoadWidget(world, "OBSERVER_WIDGETS", playerRoot, new WidgetArgs());
|
||||||
|
|
||||||
|
Game.LoadWidget(world, "OBSERVER_STATS", observerWidgets, new WidgetArgs());
|
||||||
|
observerWidgets.Get<ButtonWidget>("INGAME_STATS_BUTTON").OnClick = () => gameRoot.Get("OBSERVER_STATS").Visible ^= true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void InitPlayerWidgets()
|
||||||
|
{
|
||||||
|
var playerWidgets = Game.LoadWidget(world, "PLAYER_WIDGETS", playerRoot, new WidgetArgs());
|
||||||
|
|
||||||
|
Widget cheats = null;
|
||||||
|
cheats = Game.LoadWidget(world, "CHEATS_PANEL", playerWidgets, new WidgetArgs
|
||||||
{
|
{
|
||||||
Game.OpenWindow("CHEATS_PANEL", new WidgetArgs() {{"onExit", () => {} }});
|
{ "onExit", () => cheats.Visible = false }
|
||||||
};
|
});
|
||||||
cheatsButton.IsVisible = () => world.LocalPlayer != null && world.LobbyInfo.GlobalSettings.AllowCheats;
|
var cheatsButton = playerWidgets.Get<ButtonWidget>("CHEATS_BUTTON");
|
||||||
|
cheatsButton.OnClick = () => cheats.Visible ^= true;
|
||||||
|
cheatsButton.IsVisible = () => world.LobbyInfo.GlobalSettings.AllowCheats;
|
||||||
|
|
||||||
var iop = world.WorldActor.TraitsImplementing<IObjectivesPanel>().FirstOrDefault();
|
var iop = world.WorldActor.TraitsImplementing<IObjectivesPanel>().FirstOrDefault();
|
||||||
if (iop != null && iop.ObjectivesPanel != null)
|
if (iop != null && iop.ObjectivesPanel != null)
|
||||||
{
|
{
|
||||||
var objectivesButton = gameRoot.Get<ButtonWidget>("OBJECTIVES_BUTTON");
|
var objectivesButton = playerWidgets.Get<ButtonWidget>("OBJECTIVES_BUTTON");
|
||||||
var objectivesWidget = Game.LoadWidget(world, iop.ObjectivesPanel, Ui.Root, new WidgetArgs());
|
var objectivesWidget = Game.LoadWidget(world, iop.ObjectivesPanel, playerWidgets, new WidgetArgs());
|
||||||
objectivesWidget.Visible = false;
|
objectivesButton.Visible = true;
|
||||||
objectivesButton.OnClick += () => objectivesWidget.Visible = !objectivesWidget.Visible;
|
objectivesButton.OnClick += () => objectivesWidget.Visible ^= true;
|
||||||
objectivesButton.IsVisible = () => world.LocalPlayer != null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var moneybin = gameRoot.Get("INGAME_MONEY_BIN");
|
var moneyBin = playerWidgets.Get("INGAME_MONEY_BIN");
|
||||||
moneybin.Get<OrderButtonWidget>("SELL").GetKey = _ => Game.Settings.Keys.SellKey;
|
moneyBin.Get<OrderButtonWidget>("SELL").GetKey = _ => Game.Settings.Keys.SellKey;
|
||||||
moneybin.Get<OrderButtonWidget>("POWER_DOWN").GetKey = _ => Game.Settings.Keys.PowerDownKey;
|
moneyBin.Get<OrderButtonWidget>("POWER_DOWN").GetKey = _ => Game.Settings.Keys.PowerDownKey;
|
||||||
moneybin.Get<OrderButtonWidget>("REPAIR").GetKey = _ => Game.Settings.Keys.RepairKey;
|
moneyBin.Get<OrderButtonWidget>("REPAIR").GetKey = _ => Game.Settings.Keys.RepairKey;
|
||||||
|
|
||||||
var chatPanel = Game.LoadWidget(world, "CHAT_PANEL", Ui.Root, new WidgetArgs());
|
var winLossWatcher = playerWidgets.Get<LogicTickerWidget>("WIN_LOSS_WATCHER");
|
||||||
gameRoot.AddChild(chatPanel);
|
winLossWatcher.OnTick = () =>
|
||||||
|
|
||||||
optionsBG.Get<ButtonWidget>("DISCONNECT").OnClick = () => LeaveGame(optionsBG, world);
|
|
||||||
optionsBG.Get<ButtonWidget>("SETTINGS").OnClick = () => Ui.OpenWindow("SETTINGS_MENU");
|
|
||||||
optionsBG.Get<ButtonWidget>("MUSIC").OnClick = () => Ui.OpenWindow("MUSIC_MENU");
|
|
||||||
optionsBG.Get<ButtonWidget>("RESUME").OnClick = () =>
|
|
||||||
{
|
{
|
||||||
optionsBG.Visible = false;
|
if (world.LocalPlayer.WinState != WinState.Undefined)
|
||||||
if (world.LobbyInfo.IsSinglePlayer)
|
Game.RunAfterTick(() =>
|
||||||
world.IssueOrder(Order.PauseGame(false));
|
{
|
||||||
|
playerRoot.RemoveChildren();
|
||||||
|
InitObserverWidgets();
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
optionsBG.Get<ButtonWidget>("SURRENDER").OnClick = () =>
|
|
||||||
{
|
|
||||||
optionsBG.Visible = false;
|
|
||||||
world.IssueOrder(new Order("Surrender", world.LocalPlayer.PlayerActor, false));
|
|
||||||
};
|
|
||||||
|
|
||||||
optionsBG.Get("SURRENDER").IsVisible = () => (world.LocalPlayer != null && world.LocalPlayer.WinState == WinState.Undefined);
|
|
||||||
|
|
||||||
var postgameBG = gameRoot.Get("POSTGAME_BG");
|
|
||||||
var postgameText = postgameBG.Get<LabelWidget>("TEXT");
|
|
||||||
var postGameObserve = postgameBG.Get<ButtonWidget>("POSTGAME_OBSERVE");
|
|
||||||
|
|
||||||
var postgameQuit = postgameBG.Get<ButtonWidget>("POSTGAME_QUIT");
|
|
||||||
postgameQuit.OnClick = () => LeaveGame(postgameQuit, world);
|
|
||||||
|
|
||||||
postGameObserve.OnClick = () => postgameQuit.Visible = false;
|
|
||||||
postGameObserve.IsVisible = () => world.LocalPlayer.WinState != WinState.Won;
|
|
||||||
|
|
||||||
postgameBG.IsVisible = () =>
|
|
||||||
{
|
|
||||||
return postgameQuit.Visible && world.LocalPlayer != null && world.LocalPlayer.WinState != WinState.Undefined;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
postgameText.GetText = () =>
|
|
||||||
{
|
|
||||||
var state = world.LocalPlayer.WinState;
|
|
||||||
return state == WinState.Undefined ? "" :
|
|
||||||
(state == WinState.Lost ? "YOU ARE DEFEATED" : "YOU ARE VICTORIOUS");
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
void LeaveGame(Widget pane, World world)
|
|
||||||
{
|
|
||||||
Sound.PlayNotification(null, "Speech", "Leave", world.LocalPlayer.Country.Race);
|
|
||||||
pane.Visible = false;
|
|
||||||
Game.Disconnect();
|
|
||||||
Game.LoadShellMap();
|
|
||||||
Ui.CloseWindow();
|
|
||||||
Ui.OpenWindow("MAINMENU_BG");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
46
OpenRA.Mods.RA/Widgets/Logic/IngameMenuLogic.cs
Normal file
46
OpenRA.Mods.RA/Widgets/Logic/IngameMenuLogic.cs
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
#region Copyright & License Information
|
||||||
|
/*
|
||||||
|
* Copyright 2007-2013 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 OpenRA.Widgets;
|
||||||
|
|
||||||
|
namespace OpenRA.Mods.RA.Widgets.Logic
|
||||||
|
{
|
||||||
|
class IngameMenuLogic
|
||||||
|
{
|
||||||
|
[ObjectCreator.UseCtor]
|
||||||
|
public IngameMenuLogic(Widget widget, World world, Action onExit)
|
||||||
|
{
|
||||||
|
widget.Get<ButtonWidget>("DISCONNECT").OnClick = () =>
|
||||||
|
{
|
||||||
|
onExit();
|
||||||
|
LeaveGame(widget, world, onExit);
|
||||||
|
};
|
||||||
|
widget.Get<ButtonWidget>("SETTINGS").OnClick = () => Ui.OpenWindow("SETTINGS_MENU");
|
||||||
|
widget.Get<ButtonWidget>("MUSIC").OnClick = () => Ui.OpenWindow("MUSIC_MENU");
|
||||||
|
widget.Get<ButtonWidget>("RESUME").OnClick = () => onExit();
|
||||||
|
|
||||||
|
widget.Get<ButtonWidget>("SURRENDER").OnClick = () =>
|
||||||
|
{
|
||||||
|
world.IssueOrder(new Order("Surrender", world.LocalPlayer.PlayerActor, false));
|
||||||
|
onExit();
|
||||||
|
};
|
||||||
|
widget.Get("SURRENDER").IsVisible = () => world.LocalPlayer != null && world.LocalPlayer.WinState == WinState.Undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
void LeaveGame(Widget widget, World world, Action onExit)
|
||||||
|
{
|
||||||
|
Sound.PlayNotification(null, "Speech", "Leave", world.LocalPlayer.Country.Race);
|
||||||
|
Game.Disconnect();
|
||||||
|
Ui.CloseWindow();
|
||||||
|
Game.LoadShellMap();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,67 +0,0 @@
|
|||||||
#region Copyright & License Information
|
|
||||||
/*
|
|
||||||
* Copyright 2007-2011 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 OpenRA.Traits;
|
|
||||||
using OpenRA.Widgets;
|
|
||||||
using OpenRA.Network;
|
|
||||||
using System;
|
|
||||||
using System.Drawing;
|
|
||||||
using System.Linq;
|
|
||||||
|
|
||||||
namespace OpenRA.Mods.RA.Widgets.Logic
|
|
||||||
{
|
|
||||||
public class IngameObserverChromeLogic
|
|
||||||
{
|
|
||||||
Widget gameRoot;
|
|
||||||
|
|
||||||
// WTF duplication
|
|
||||||
[ObjectCreator.UseCtor]
|
|
||||||
public IngameObserverChromeLogic(World world)
|
|
||||||
{
|
|
||||||
var r = Ui.Root;
|
|
||||||
gameRoot = r.Get("OBSERVER_ROOT");
|
|
||||||
var optionsBG = gameRoot.Get("INGAME_OPTIONS_BG");
|
|
||||||
|
|
||||||
r.Get<ButtonWidget>("INGAME_OPTIONS_BUTTON").OnClick = () =>
|
|
||||||
{
|
|
||||||
optionsBG.Visible = !optionsBG.Visible;
|
|
||||||
if (world.LobbyInfo.IsSinglePlayer)
|
|
||||||
world.IssueOrder(Order.PauseGame(true));
|
|
||||||
};
|
|
||||||
|
|
||||||
optionsBG.Get<ButtonWidget>("DISCONNECT").OnClick = () =>
|
|
||||||
{
|
|
||||||
optionsBG.Visible = false;
|
|
||||||
Game.Disconnect();
|
|
||||||
Game.LoadShellMap();
|
|
||||||
Ui.CloseWindow();
|
|
||||||
Ui.OpenWindow("MAINMENU_BG");
|
|
||||||
};
|
|
||||||
|
|
||||||
optionsBG.Get<ButtonWidget>("SETTINGS").OnClick = () => Ui.OpenWindow("SETTINGS_MENU");
|
|
||||||
optionsBG.Get<ButtonWidget>("MUSIC").OnClick = () => Ui.OpenWindow("MUSIC_MENU");
|
|
||||||
optionsBG.Get<ButtonWidget>("RESUME").OnClick = () =>
|
|
||||||
{
|
|
||||||
optionsBG.Visible = false;
|
|
||||||
if (world.LobbyInfo.IsSinglePlayer)
|
|
||||||
world.IssueOrder(Order.PauseGame(false));
|
|
||||||
};
|
|
||||||
optionsBG.Get<ButtonWidget>("SURRENDER").IsVisible = () => false;
|
|
||||||
|
|
||||||
Ui.Root.Get<ButtonWidget>("INGAME_STATS_BUTTON").OnClick = () => gameRoot.Get("OBSERVER_STATS").Visible ^= true;
|
|
||||||
|
|
||||||
if (!world.IsShellmap)
|
|
||||||
{
|
|
||||||
var chatPanel = Game.LoadWidget(world, "CHAT_PANEL", Ui.Root, new WidgetArgs());
|
|
||||||
gameRoot.AddChild(chatPanel);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
#region Copyright & License Information
|
#region Copyright & License Information
|
||||||
/*
|
/*
|
||||||
* Copyright 2007-2011 The OpenRA Developers (see AUTHORS)
|
* Copyright 2007-2013 The OpenRA Developers (see AUTHORS)
|
||||||
* This file is part of OpenRA, which is free software. It is made
|
* 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
|
* available to you under the terms of the GNU General Public License
|
||||||
* as published by the Free Software Foundation. For more information,
|
* as published by the Free Software Foundation. For more information,
|
||||||
@@ -11,11 +11,11 @@
|
|||||||
using System;
|
using System;
|
||||||
using OpenRA.Widgets;
|
using OpenRA.Widgets;
|
||||||
|
|
||||||
namespace OpenRA.Mods.Cnc.Widgets
|
namespace OpenRA.Mods.RA.Widgets
|
||||||
{
|
{
|
||||||
public class LogicTickerWidget : Widget
|
public class LogicTickerWidget : Widget
|
||||||
{
|
{
|
||||||
public Action OnTick = () => {};
|
public Action OnTick = () => { };
|
||||||
public override void Tick() { OnTick(); }
|
public override void Tick() { OnTick(); }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,232 +0,0 @@
|
|||||||
Container@INGAME_ROOT:
|
|
||||||
Logic:IngameChromeLogic
|
|
||||||
Children:
|
|
||||||
WorldInteractionController@INTERACTION_CONTROLLER:
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
Width:WINDOW_RIGHT
|
|
||||||
Height:WINDOW_BOTTOM
|
|
||||||
ViewportScrollController:
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
Width:WINDOW_RIGHT
|
|
||||||
Height:WINDOW_BOTTOM
|
|
||||||
WorldCommand:
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
Width:WINDOW_RIGHT
|
|
||||||
Height:WINDOW_BOTTOM
|
|
||||||
Timer@GAME_TIMER:
|
|
||||||
X: WINDOW_RIGHT/2
|
|
||||||
Y: 0-10
|
|
||||||
StrategicProgress@STRATEGIC_PROGRESS:
|
|
||||||
X: WINDOW_RIGHT/2
|
|
||||||
Y: 40
|
|
||||||
Background@POSTGAME_BG:
|
|
||||||
X:(WINDOW_RIGHT - WIDTH)/2
|
|
||||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
|
||||||
Width:400
|
|
||||||
Height:100
|
|
||||||
Background:dialog4
|
|
||||||
Visible:false
|
|
||||||
Children:
|
|
||||||
Label@TEXT:
|
|
||||||
X:(PARENT_RIGHT - WIDTH)/2
|
|
||||||
Y:0
|
|
||||||
Width:200
|
|
||||||
Height:80
|
|
||||||
Align:Center
|
|
||||||
Button@POSTGAME_OBSERVE:
|
|
||||||
X:10
|
|
||||||
Y:(PARENT_BOTTOM - HEIGHT - 10)
|
|
||||||
Width:150
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Observe
|
|
||||||
Button@POSTGAME_QUIT:
|
|
||||||
X:(PARENT_RIGHT - WIDTH - 10)
|
|
||||||
Y:(PARENT_BOTTOM - HEIGHT - 10)
|
|
||||||
Width:150
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Leave
|
|
||||||
SupportPowerBin@INGAME_POWERS_BIN:
|
|
||||||
X:0
|
|
||||||
Y:25
|
|
||||||
ReadyText: READY
|
|
||||||
HoldText: ON HOLD
|
|
||||||
BuildPalette@INGAME_BUILD_PALETTE:
|
|
||||||
X:WINDOW_RIGHT - 250
|
|
||||||
Y:280
|
|
||||||
Width:250
|
|
||||||
Height:500
|
|
||||||
ReadyText: READY
|
|
||||||
HoldText: ON HOLD
|
|
||||||
RequiresText: Requires
|
|
||||||
IconWidth: 60
|
|
||||||
IconHeight: 47
|
|
||||||
Button@INGAME_OPTIONS_BUTTON:
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Options (ESC)
|
|
||||||
Font:Bold
|
|
||||||
Key: escape
|
|
||||||
Button@INGAME_DIPLOMACY_BUTTON:
|
|
||||||
X:162
|
|
||||||
Y:0
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Diplomacy (F1)
|
|
||||||
Font:Bold
|
|
||||||
Key: f1
|
|
||||||
Button@CHEATS_BUTTON:
|
|
||||||
X:324
|
|
||||||
Y:0
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Cheats (F2)
|
|
||||||
Visible:false
|
|
||||||
Font:Bold
|
|
||||||
Key: f2
|
|
||||||
Button@OBJECTIVES_BUTTON:
|
|
||||||
X:486
|
|
||||||
Y:0
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Objectives (F3)
|
|
||||||
Visible:false
|
|
||||||
Font:Bold
|
|
||||||
Key: f3
|
|
||||||
RadarBin@INGAME_RADAR_BIN:
|
|
||||||
WorldInteractionController:INTERACTION_CONTROLLER
|
|
||||||
PowerBin@INGAME_POWER_BIN:
|
|
||||||
MoneyBin@INGAME_MONEY_BIN:
|
|
||||||
X:WINDOW_RIGHT - WIDTH
|
|
||||||
Y:0
|
|
||||||
Width:320
|
|
||||||
Height: 32
|
|
||||||
Children:
|
|
||||||
OrderButton@SELL:
|
|
||||||
Logic:OrderButtonsChromeLogic
|
|
||||||
X:3
|
|
||||||
Y:0
|
|
||||||
Width:30
|
|
||||||
Height:30
|
|
||||||
Image:sell
|
|
||||||
Description:Sell
|
|
||||||
LongDesc:Sell buildings, reclaiming a \nproportion of their build cost
|
|
||||||
OrderButton@POWER_DOWN:
|
|
||||||
Logic:OrderButtonsChromeLogic
|
|
||||||
X:39
|
|
||||||
Y:0
|
|
||||||
Width:30
|
|
||||||
Height:30
|
|
||||||
Image:power
|
|
||||||
Description:Powerdown
|
|
||||||
LongDesc:Disable unneeded structures so their \npower can be used elsewhere
|
|
||||||
OrderButton@REPAIR:
|
|
||||||
Logic:OrderButtonsChromeLogic
|
|
||||||
X:75
|
|
||||||
Y:0
|
|
||||||
Width:30
|
|
||||||
Height:30
|
|
||||||
Image:repair
|
|
||||||
Description:Repair
|
|
||||||
LongDesc:Repair damaged buildings
|
|
||||||
WorldTooltip:
|
|
||||||
Background@INGAME_OPTIONS_BG:
|
|
||||||
X:(WINDOW_RIGHT - WIDTH)/2
|
|
||||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
|
||||||
Width:300
|
|
||||||
Height:295
|
|
||||||
Visible:false
|
|
||||||
Children:
|
|
||||||
Label@LABEL_TITLE:
|
|
||||||
X:(PARENT_RIGHT - WIDTH)/2
|
|
||||||
Y:20
|
|
||||||
Width:250
|
|
||||||
Height:25
|
|
||||||
Text:Options
|
|
||||||
Align:Center
|
|
||||||
Font:Bold
|
|
||||||
Button@RESUME:
|
|
||||||
X:(PARENT_RIGHT - WIDTH)/2
|
|
||||||
Y:60
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Resume
|
|
||||||
Font:Bold
|
|
||||||
Key:escape
|
|
||||||
Button@SETTINGS:
|
|
||||||
X:(PARENT_RIGHT - WIDTH)/2
|
|
||||||
Y:100
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Settings
|
|
||||||
Font:Bold
|
|
||||||
Button@MUSIC:
|
|
||||||
X:(PARENT_RIGHT - WIDTH)/2
|
|
||||||
Y:140
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Music
|
|
||||||
Font:Bold
|
|
||||||
Button@SURRENDER:
|
|
||||||
X:(PARENT_RIGHT - WIDTH)/2
|
|
||||||
Y:180
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Surrender
|
|
||||||
Font:Bold
|
|
||||||
Button@DISCONNECT:
|
|
||||||
X:(PARENT_RIGHT - WIDTH)/2
|
|
||||||
Y:220
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Abort Mission
|
|
||||||
Font:Bold
|
|
||||||
Background@DIPLOMACY_BG:
|
|
||||||
Logic:DiplomacyLogic
|
|
||||||
X:(WINDOW_RIGHT - WIDTH)/2
|
|
||||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
|
||||||
Width:450
|
|
||||||
Height:400
|
|
||||||
Visible:false
|
|
||||||
Children:
|
|
||||||
Label@LABEL_TITLE:
|
|
||||||
X:(PARENT_RIGHT - WIDTH)/2
|
|
||||||
Y:20
|
|
||||||
Width:250
|
|
||||||
Height:25
|
|
||||||
Text:Diplomacy
|
|
||||||
Align:Center
|
|
||||||
Font:Bold
|
|
||||||
Button@CLOSE_DIPLOMACY:
|
|
||||||
X:(PARENT_RIGHT - WIDTH)/2
|
|
||||||
Y:350
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Close
|
|
||||||
Font:Bold
|
|
||||||
Key:escape
|
|
||||||
Background@PERF_BG:
|
|
||||||
ClickThrough:true
|
|
||||||
Background:dialog4
|
|
||||||
Logic:PerfDebugLogic
|
|
||||||
X:10
|
|
||||||
Y:WINDOW_BOTTOM - 250
|
|
||||||
Width: 210
|
|
||||||
Height: 250
|
|
||||||
Children:
|
|
||||||
PerfGraph@GRAPH:
|
|
||||||
X:5
|
|
||||||
Y:5
|
|
||||||
Width:200
|
|
||||||
Height:200
|
|
||||||
Label@TEXT:
|
|
||||||
X:20
|
|
||||||
Y:205
|
|
||||||
Width:170
|
|
||||||
Height:40
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
Background@MAINMENU_BG:
|
Background@MAINMENU:
|
||||||
X:(WINDOW_RIGHT - WIDTH)/2
|
X:(WINDOW_RIGHT - WIDTH)/2
|
||||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
||||||
Width:250
|
Width:250
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
mods/d2k/maps/shellmap/map.bin
Normal file
BIN
mods/d2k/maps/shellmap/map.bin
Normal file
Binary file not shown.
100
mods/d2k/maps/shellmap/map.yaml
Normal file
100
mods/d2k/maps/shellmap/map.yaml
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
Selectable: False
|
||||||
|
|
||||||
|
MapFormat: 5
|
||||||
|
|
||||||
|
Title: Shellmap
|
||||||
|
|
||||||
|
Description: Shellmap
|
||||||
|
|
||||||
|
Author: Westwood Studios
|
||||||
|
|
||||||
|
Tileset: ARRAKIS
|
||||||
|
|
||||||
|
MapSize: 128,128
|
||||||
|
|
||||||
|
Bounds: 16,16,80,80
|
||||||
|
|
||||||
|
UseAsShellmap: True
|
||||||
|
|
||||||
|
Type: Conquest
|
||||||
|
|
||||||
|
Players:
|
||||||
|
PlayerReference@Neutral:
|
||||||
|
Name: Neutral
|
||||||
|
OwnsWorld: True
|
||||||
|
Race: allies
|
||||||
|
Actors:
|
||||||
|
Actor0: spicebloom
|
||||||
|
Location: 27,42
|
||||||
|
Owner: Neutral
|
||||||
|
Actor3: spicebloom
|
||||||
|
Location: 43,22
|
||||||
|
Owner: Neutral
|
||||||
|
Actor4: spicebloom
|
||||||
|
Location: 50,53
|
||||||
|
Owner: Neutral
|
||||||
|
Actor5: spicebloom
|
||||||
|
Location: 50,65
|
||||||
|
Owner: Neutral
|
||||||
|
Actor6: spicebloom
|
||||||
|
Location: 45,75
|
||||||
|
Owner: Neutral
|
||||||
|
Actor7: spicebloom
|
||||||
|
Location: 64,52
|
||||||
|
Owner: Neutral
|
||||||
|
Actor8: spicebloom
|
||||||
|
Location: 65,64
|
||||||
|
Owner: Neutral
|
||||||
|
Actor9: spicebloom
|
||||||
|
Location: 65,20
|
||||||
|
Owner: Neutral
|
||||||
|
Actor12: spicebloom
|
||||||
|
Location: 85,42
|
||||||
|
Owner: Neutral
|
||||||
|
Actor13: spicebloom
|
||||||
|
Location: 40,45
|
||||||
|
Owner: Neutral
|
||||||
|
Actor14: spicebloom
|
||||||
|
Location: 52,37
|
||||||
|
Owner: Neutral
|
||||||
|
Actor15: spicebloom
|
||||||
|
Location: 67,34
|
||||||
|
Owner: Neutral
|
||||||
|
Actor16: spicebloom
|
||||||
|
Location: 76,43
|
||||||
|
Owner: Neutral
|
||||||
|
Actor17: spicebloom
|
||||||
|
Location: 26,75
|
||||||
|
Owner: Neutral
|
||||||
|
Actor18: spicebloom
|
||||||
|
Location: 48,91
|
||||||
|
Owner: Neutral
|
||||||
|
Actor19: spicebloom
|
||||||
|
Location: 29,61
|
||||||
|
Owner: Neutral
|
||||||
|
Actor22: spicebloom
|
||||||
|
Location: 93,68
|
||||||
|
Owner: Neutral
|
||||||
|
Actor23: spicebloom
|
||||||
|
Location: 71,74
|
||||||
|
Owner: Neutral
|
||||||
|
Actor24: spicebloom
|
||||||
|
Location: 62,92
|
||||||
|
Owner: Neutral
|
||||||
|
Actor25: spicebloom
|
||||||
|
Location: 82,65
|
||||||
|
Owner: Neutral
|
||||||
|
|
||||||
|
Smudges:
|
||||||
|
|
||||||
|
Rules:
|
||||||
|
World:
|
||||||
|
LoadWidgetAtGameStart:
|
||||||
|
Widget: MAINMENU
|
||||||
|
Sequences:
|
||||||
|
|
||||||
|
Weapons:
|
||||||
|
|
||||||
|
Voices:
|
||||||
|
|
||||||
|
Notifications:
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -45,10 +45,11 @@ Assemblies:
|
|||||||
|
|
||||||
ChromeLayout:
|
ChromeLayout:
|
||||||
mods/d2k/chrome/gameinit.yaml
|
mods/d2k/chrome/gameinit.yaml
|
||||||
mods/d2k/chrome/ingame.yaml
|
mods/ra/chrome/ingame.yaml
|
||||||
mods/ra/chrome/ingame-chat.yaml
|
mods/ra/chrome/ingame-chat.yaml
|
||||||
mods/ra/chrome/ingame-observer.yaml
|
|
||||||
mods/ra/chrome/ingame-fmvplayer.yaml
|
mods/ra/chrome/ingame-fmvplayer.yaml
|
||||||
|
mods/ra/chrome/ingame-menu.yaml
|
||||||
|
mods/ra/chrome/ingame-observerstats.yaml
|
||||||
mods/d2k/chrome/mainmenu.yaml
|
mods/d2k/chrome/mainmenu.yaml
|
||||||
mods/ra/chrome/settings.yaml
|
mods/ra/chrome/settings.yaml
|
||||||
mods/d2k/chrome/lobby.yaml
|
mods/d2k/chrome/lobby.yaml
|
||||||
|
|||||||
@@ -273,9 +273,8 @@ Player:
|
|||||||
HarvesterAttackNotifier:
|
HarvesterAttackNotifier:
|
||||||
|
|
||||||
World:
|
World:
|
||||||
OpenWidgetAtGameStart:
|
LoadWidgetAtGameStart:
|
||||||
Widget: INGAME_ROOT
|
Widget: INGAME_ROOT
|
||||||
ObserverWidget: OBSERVER_ROOT
|
|
||||||
ScreenShaker:
|
ScreenShaker:
|
||||||
NukePaletteEffect:
|
NukePaletteEffect:
|
||||||
BuildingInfluence:
|
BuildingInfluence:
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ Background@CHEATS_PANEL:
|
|||||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
||||||
Width:350
|
Width:350
|
||||||
Height:475
|
Height:475
|
||||||
Visible:true
|
Visible:false
|
||||||
Children:
|
Children:
|
||||||
Label@LABEL_TITLE:
|
Label@LABEL_TITLE:
|
||||||
X:(PARENT_RIGHT - WIDTH)/2
|
X:(PARENT_RIGHT - WIDTH)/2
|
||||||
|
|||||||
52
mods/ra/chrome/ingame-menu.yaml
Normal file
52
mods/ra/chrome/ingame-menu.yaml
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
Background@INGAME_OPTIONS_BG:
|
||||||
|
X:(WINDOW_RIGHT - WIDTH)/2
|
||||||
|
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
||||||
|
Width:300
|
||||||
|
Height:295
|
||||||
|
Logic:IngameMenuLogic
|
||||||
|
Visible:false
|
||||||
|
Children:
|
||||||
|
Label@LABEL_TITLE:
|
||||||
|
X:(PARENT_RIGHT - WIDTH)/2
|
||||||
|
Y:20
|
||||||
|
Width:250
|
||||||
|
Height:25
|
||||||
|
Text:Options
|
||||||
|
Align:Center
|
||||||
|
Font:Bold
|
||||||
|
Button@RESUME:
|
||||||
|
X:(PARENT_RIGHT - WIDTH)/2
|
||||||
|
Y:60
|
||||||
|
Width:160
|
||||||
|
Height:25
|
||||||
|
Text:Resume
|
||||||
|
Font:Bold
|
||||||
|
Key:escape
|
||||||
|
Button@SETTINGS:
|
||||||
|
X:(PARENT_RIGHT - WIDTH)/2
|
||||||
|
Y:100
|
||||||
|
Width:160
|
||||||
|
Height:25
|
||||||
|
Text:Settings
|
||||||
|
Font:Bold
|
||||||
|
Button@MUSIC:
|
||||||
|
X:(PARENT_RIGHT - WIDTH)/2
|
||||||
|
Y:140
|
||||||
|
Width:160
|
||||||
|
Height:25
|
||||||
|
Text:Music
|
||||||
|
Font:Bold
|
||||||
|
Button@SURRENDER:
|
||||||
|
X:(PARENT_RIGHT - WIDTH)/2
|
||||||
|
Y:180
|
||||||
|
Width:160
|
||||||
|
Height:25
|
||||||
|
Text:Surrender
|
||||||
|
Font:Bold
|
||||||
|
Button@DISCONNECT:
|
||||||
|
X:(PARENT_RIGHT - WIDTH)/2
|
||||||
|
Y:220
|
||||||
|
Width:160
|
||||||
|
Height:25
|
||||||
|
Text:Abort Mission
|
||||||
|
Font:Bold
|
||||||
99
mods/ra/chrome/ingame-objectives.yaml
Normal file
99
mods/ra/chrome/ingame-objectives.yaml
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
Background@MISSION_OBJECTIVES:
|
||||||
|
Logic:MissionObjectivesLogic
|
||||||
|
X:25
|
||||||
|
Y:50
|
||||||
|
Width:512
|
||||||
|
Height:530
|
||||||
|
Visible:false
|
||||||
|
Background:dialog
|
||||||
|
Children:
|
||||||
|
Label@TITLE:
|
||||||
|
X:0
|
||||||
|
Y:15
|
||||||
|
Width:PARENT_RIGHT
|
||||||
|
Height:25
|
||||||
|
Font:Bold
|
||||||
|
Align:Center
|
||||||
|
Text:Objectives
|
||||||
|
Label@PRIMARY_OBJECTIVE_HEADER:
|
||||||
|
X:40
|
||||||
|
Y:40
|
||||||
|
Width:300
|
||||||
|
Height:25
|
||||||
|
Font:Bold
|
||||||
|
Text:Primary Objectives
|
||||||
|
Label@PRIMARY_STATUS_HEADER:
|
||||||
|
X:350
|
||||||
|
Y:40
|
||||||
|
Width:122
|
||||||
|
Height:25
|
||||||
|
Font:Bold
|
||||||
|
Text:Status
|
||||||
|
ScrollPanel@PRIMARY_OBJECTIVES:
|
||||||
|
X:25
|
||||||
|
Y:70
|
||||||
|
Width:PARENT_RIGHT-50
|
||||||
|
Height:200
|
||||||
|
ItemSpacing:5
|
||||||
|
Children:
|
||||||
|
Container@PRIMARY_OBJECTIVE_TEMPLATE:
|
||||||
|
X:15
|
||||||
|
Y:0-15
|
||||||
|
Width:PARENT_RIGHT
|
||||||
|
Height:60
|
||||||
|
Children:
|
||||||
|
Label@PRIMARY_OBJECTIVE:
|
||||||
|
X:0
|
||||||
|
Y:0
|
||||||
|
Width:300
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
Font:Regular
|
||||||
|
WordWrap:True
|
||||||
|
Label@PRIMARY_STATUS:
|
||||||
|
X:310
|
||||||
|
Y:0
|
||||||
|
Width:122
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
Font:Bold
|
||||||
|
WordWrap:True
|
||||||
|
Label@SECONDARY_OBJECTIVE_HEADER:
|
||||||
|
X:40
|
||||||
|
Y:275
|
||||||
|
Width:300
|
||||||
|
Height:25
|
||||||
|
Font:Bold
|
||||||
|
Text:Secondary Objectives
|
||||||
|
Label@SECONDARY_STATUS_HEADER:
|
||||||
|
X:350
|
||||||
|
Y:275
|
||||||
|
Width:122
|
||||||
|
Height:25
|
||||||
|
Font:Bold
|
||||||
|
Text:Status
|
||||||
|
ScrollPanel@SECONDARY_OBJECTIVES:
|
||||||
|
X:25
|
||||||
|
Y:305
|
||||||
|
Width:PARENT_RIGHT-50
|
||||||
|
Height:200
|
||||||
|
ItemSpacing:5
|
||||||
|
Children:
|
||||||
|
Container@SECONDARY_OBJECTIVE_TEMPLATE:
|
||||||
|
X:15
|
||||||
|
Y:0-15
|
||||||
|
Width:PARENT_RIGHT
|
||||||
|
Height:60
|
||||||
|
Children:
|
||||||
|
Label@SECONDARY_OBJECTIVE:
|
||||||
|
X:0
|
||||||
|
Y:0
|
||||||
|
Width:300
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
Font:Regular
|
||||||
|
WordWrap:True
|
||||||
|
Label@SECONDARY_STATUS:
|
||||||
|
X:310
|
||||||
|
Y:0
|
||||||
|
Width:122
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
Font:Bold
|
||||||
|
WordWrap:True
|
||||||
@@ -1,643 +0,0 @@
|
|||||||
Container@OBSERVER_ROOT:
|
|
||||||
Visible:true
|
|
||||||
Logic:IngameObserverChromeLogic
|
|
||||||
Children:
|
|
||||||
WorldInteractionController@INTERACTION_CONTROLLER:
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
Width:WINDOW_RIGHT
|
|
||||||
Height:WINDOW_BOTTOM
|
|
||||||
ViewportScrollController:
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
Width:WINDOW_RIGHT
|
|
||||||
Height:WINDOW_BOTTOM
|
|
||||||
Timer@GAME_TIMER:
|
|
||||||
X: WINDOW_RIGHT/2
|
|
||||||
Y: 0-10
|
|
||||||
Background@POSTGAME_BG:
|
|
||||||
X:(WINDOW_RIGHT - WIDTH)/2
|
|
||||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
|
||||||
Width:400
|
|
||||||
Height:100
|
|
||||||
Background:dialog4
|
|
||||||
Visible:false
|
|
||||||
Children:
|
|
||||||
Label@TEXT:
|
|
||||||
X:(PARENT_RIGHT - WIDTH)/2
|
|
||||||
Y:0
|
|
||||||
Width:200
|
|
||||||
Height:80
|
|
||||||
Align:Center
|
|
||||||
Button@POSTGAME_OBSERVE:
|
|
||||||
X:10
|
|
||||||
Y:(PARENT_BOTTOM - HEIGHT - 10)
|
|
||||||
Width:150
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Observe
|
|
||||||
Button@POSTGAME_QUIT:
|
|
||||||
X:(PARENT_RIGHT - WIDTH - 10)
|
|
||||||
Y:(PARENT_BOTTOM - HEIGHT - 10)
|
|
||||||
Width:150
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Leave
|
|
||||||
SupportPowerBin@INGAME_POWERS_BIN:
|
|
||||||
X:0
|
|
||||||
Y:25
|
|
||||||
Button@INGAME_OPTIONS_BUTTON:
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Options (ESC)
|
|
||||||
Font:Bold
|
|
||||||
Key:escape
|
|
||||||
Button@INGAME_STATS_BUTTON:
|
|
||||||
X:162
|
|
||||||
Y:0
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Statistics (F1)
|
|
||||||
Font:Bold
|
|
||||||
Key:f1
|
|
||||||
Background@RADAR_BG:
|
|
||||||
X:WINDOW_RIGHT-255
|
|
||||||
Y:5
|
|
||||||
Width:250
|
|
||||||
Height:250
|
|
||||||
Children:
|
|
||||||
Radar@INGAME_RADAR:
|
|
||||||
X:10
|
|
||||||
Y:10
|
|
||||||
Width:PARENT_RIGHT-19
|
|
||||||
Height:PARENT_BOTTOM-19
|
|
||||||
WorldInteractionController:INTERACTION_CONTROLLER
|
|
||||||
DropDownButton@SHROUD_SELECTOR:
|
|
||||||
Logic:ObserverShroudSelectorLogic
|
|
||||||
X:WINDOW_RIGHT-250
|
|
||||||
Y:260
|
|
||||||
Width:240
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Visible:true
|
|
||||||
WorldTooltip:
|
|
||||||
Background@INGAME_OPTIONS_BG:
|
|
||||||
X:(WINDOW_RIGHT - WIDTH)/2
|
|
||||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
|
||||||
Width:300
|
|
||||||
Height:295
|
|
||||||
Visible:false
|
|
||||||
Children:
|
|
||||||
Label@LABEL_TITLE:
|
|
||||||
X:(PARENT_RIGHT - WIDTH)/2
|
|
||||||
Y:20
|
|
||||||
Width:250
|
|
||||||
Height:25
|
|
||||||
Text:Options
|
|
||||||
Align:Center
|
|
||||||
Font:Bold
|
|
||||||
Button@RESUME:
|
|
||||||
X:(PARENT_RIGHT - WIDTH)/2
|
|
||||||
Y:60
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Resume
|
|
||||||
Font:Bold
|
|
||||||
Key:escape
|
|
||||||
Button@SETTINGS:
|
|
||||||
X:(PARENT_RIGHT - WIDTH)/2
|
|
||||||
Y:100
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Settings
|
|
||||||
Font:Bold
|
|
||||||
Button@MUSIC:
|
|
||||||
X:(PARENT_RIGHT - WIDTH)/2
|
|
||||||
Y:140
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Music
|
|
||||||
Font:Bold
|
|
||||||
Button@SURRENDER:
|
|
||||||
X:(PARENT_RIGHT - WIDTH)/2
|
|
||||||
Y:180
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Surrender
|
|
||||||
Font:Bold
|
|
||||||
Button@DISCONNECT:
|
|
||||||
X:(PARENT_RIGHT - WIDTH)/2
|
|
||||||
Y:220
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Abort Mission
|
|
||||||
Font:Bold
|
|
||||||
Background@PERF_BG:
|
|
||||||
ClickThrough:true
|
|
||||||
Background:dialog4
|
|
||||||
Logic:PerfDebugLogic
|
|
||||||
X:10
|
|
||||||
Y:WINDOW_BOTTOM - 250
|
|
||||||
Width: 210
|
|
||||||
Height: 250
|
|
||||||
Children:
|
|
||||||
PerfGraph@GRAPH:
|
|
||||||
X:5
|
|
||||||
Y:5
|
|
||||||
Width:200
|
|
||||||
Height:200
|
|
||||||
Label@TEXT:
|
|
||||||
X:20
|
|
||||||
Y:205
|
|
||||||
Width:170
|
|
||||||
Height:40
|
|
||||||
Container@OBSERVER_STATS:
|
|
||||||
Logic:ObserverStatsLogic
|
|
||||||
X:25
|
|
||||||
Y:50
|
|
||||||
Width:950
|
|
||||||
Height:500
|
|
||||||
Visible:false
|
|
||||||
Children:
|
|
||||||
Background@BACKGROUND:
|
|
||||||
Width:PARENT_RIGHT
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
Background:dialog
|
|
||||||
Children:
|
|
||||||
Label@TITLE:
|
|
||||||
X:0
|
|
||||||
Y:15
|
|
||||||
Width:PARENT_RIGHT
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Align:Center
|
|
||||||
Text:Statistics
|
|
||||||
DropDownButton@STATS_DROPDOWN:
|
|
||||||
X:PARENT_RIGHT-200
|
|
||||||
Y:15
|
|
||||||
Width:185
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Container@BASIC_STATS_HEADERS:
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
Width:PARENT_RIGHT
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
Children:
|
|
||||||
Label@PLAYER_HEADER:
|
|
||||||
X:85
|
|
||||||
Y:40
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Player
|
|
||||||
Label@CASH_HEADER:
|
|
||||||
X:245
|
|
||||||
Y:40
|
|
||||||
Width:80
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Cash
|
|
||||||
Label@EARNED_MIN_HEADER:
|
|
||||||
X:325
|
|
||||||
Y:40
|
|
||||||
Width:60
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Earned/min
|
|
||||||
Label@POWER_HEADER:
|
|
||||||
X:425
|
|
||||||
Y:40
|
|
||||||
Width:80
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Power
|
|
||||||
Label@KILLS_HEADER:
|
|
||||||
X:505
|
|
||||||
Y:40
|
|
||||||
Width:40
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Kills
|
|
||||||
Align:Right
|
|
||||||
Label@DEATHS_HEADER:
|
|
||||||
X:565
|
|
||||||
Y:40
|
|
||||||
Width:40
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Deaths
|
|
||||||
Align:Right
|
|
||||||
Label@ACTIONS_MIN_HEADER:
|
|
||||||
X:665
|
|
||||||
Y:40
|
|
||||||
Width:40
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Actions/min
|
|
||||||
Align:Right
|
|
||||||
Container@ECONOMY_STATS_HEADERS:
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
Width:PARENT_RIGHT
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
Children:
|
|
||||||
Label@PLAYER_HEADER:
|
|
||||||
X:85
|
|
||||||
Y:40
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Player
|
|
||||||
Label@CASH_HEADER:
|
|
||||||
X:245
|
|
||||||
Y:40
|
|
||||||
Width:80
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Cash
|
|
||||||
Label@EARNED_MIN_HEADER:
|
|
||||||
X:325
|
|
||||||
Y:40
|
|
||||||
Width:60
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Earned/min
|
|
||||||
Label@EARNED_THIS_MIN_HEADER:
|
|
||||||
X:425
|
|
||||||
Y:40
|
|
||||||
Width:60
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Earned this min
|
|
||||||
Label@ASSETS_HEADER:
|
|
||||||
X:565
|
|
||||||
Y:40
|
|
||||||
Width:60
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Assets
|
|
||||||
Label@EARNED_HEADER:
|
|
||||||
X:645
|
|
||||||
Y:40
|
|
||||||
Width:60
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Earned
|
|
||||||
Label@SPENT_HEADER:
|
|
||||||
X:725
|
|
||||||
Y:40
|
|
||||||
Width:60
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Spent
|
|
||||||
Label@HARVESTERS_HEADER:
|
|
||||||
X:805
|
|
||||||
Y:40
|
|
||||||
Width:60
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Harvesters
|
|
||||||
Align:Right
|
|
||||||
Container@PRODUCTION_STATS_HEADERS:
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
Width:PARENT_RIGHT
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
Children:
|
|
||||||
Label@PLAYER_HEADER:
|
|
||||||
X:85
|
|
||||||
Y:40
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Player
|
|
||||||
Label@PRODUCTION_HEADER:
|
|
||||||
X:245
|
|
||||||
Y:40
|
|
||||||
Width:320
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Production
|
|
||||||
Label@SUPPORT_POWERS_HEADER:
|
|
||||||
X:565
|
|
||||||
Y:40
|
|
||||||
Width:320
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Support Powers
|
|
||||||
Container@COMBAT_STATS_HEADERS:
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
Width:PARENT_RIGHT
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
Children:
|
|
||||||
Label@PLAYER_HEADER:
|
|
||||||
X:85
|
|
||||||
Y:40
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Player
|
|
||||||
Label@CONTROL_HEADER:
|
|
||||||
X:245
|
|
||||||
Y:40
|
|
||||||
Width:60
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Control
|
|
||||||
Label@KILLS_COST_HEADER:
|
|
||||||
X:325
|
|
||||||
Y:40
|
|
||||||
Width:60
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Kills
|
|
||||||
Label@DEATHS_COST_HEADER:
|
|
||||||
X:405
|
|
||||||
Y:40
|
|
||||||
Width:60
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Deaths
|
|
||||||
Label@UNITS_KILLED_HEADER:
|
|
||||||
X:505
|
|
||||||
Y:40
|
|
||||||
Width:40
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Units Killed
|
|
||||||
Align:Right
|
|
||||||
Label@UNITS_DEAD_HEADER:
|
|
||||||
X:605
|
|
||||||
Y:40
|
|
||||||
Width:40
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Units Lost
|
|
||||||
Align:Right
|
|
||||||
Label@BUILDINGS_KILLED_HEADER:
|
|
||||||
X:725
|
|
||||||
Y:40
|
|
||||||
Width:40
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Bldg Killed
|
|
||||||
Align:Right
|
|
||||||
Label@BUILDINGS_DEAD_HEADER:
|
|
||||||
X:825
|
|
||||||
Y:40
|
|
||||||
Width:40
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Bldg Lost
|
|
||||||
Align:Right
|
|
||||||
Container@EARNED_THIS_MIN_GRAPH_HEADERS:
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
Width:PARENT_RIGHT
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
Children:
|
|
||||||
Label@EARNED_THIS_MIN_HEADER:
|
|
||||||
X:0
|
|
||||||
Y:40
|
|
||||||
Width:PARENT_RIGHT
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Earnings received each minute
|
|
||||||
Align:Center
|
|
||||||
ScrollPanel@PLAYER_STATS_PANEL:
|
|
||||||
X:25
|
|
||||||
Y:70
|
|
||||||
Width:PARENT_RIGHT-50
|
|
||||||
Height:PARENT_BOTTOM-45-50
|
|
||||||
ItemSpacing:5
|
|
||||||
Children:
|
|
||||||
ScrollItem@TEAM_TEMPLATE:
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
Width:PARENT_RIGHT-35
|
|
||||||
Height:25
|
|
||||||
Children:
|
|
||||||
Label@TEAM:
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
Width:PARENT_RIGHT
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
Font:Bold
|
|
||||||
ScrollItem@BASIC_PLAYER_TEMPLATE:
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
Width:PARENT_RIGHT-35
|
|
||||||
Height:25
|
|
||||||
Children:
|
|
||||||
Image@FLAG:
|
|
||||||
X:20
|
|
||||||
Y:5
|
|
||||||
Width:35
|
|
||||||
Height:PARENT_BOTTOM-5
|
|
||||||
ImageName:random
|
|
||||||
ImageCollection:flags
|
|
||||||
Label@PLAYER:
|
|
||||||
X:55
|
|
||||||
Y:0
|
|
||||||
Width:160
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
Font:Bold
|
|
||||||
Label@CASH:
|
|
||||||
X:215
|
|
||||||
Y:0
|
|
||||||
Width:80
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
Label@EARNED_MIN:
|
|
||||||
X:295
|
|
||||||
Y:0
|
|
||||||
Width:60
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
Label@POWER:
|
|
||||||
X:395
|
|
||||||
Y:0
|
|
||||||
Width:80
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
Label@KILLS:
|
|
||||||
X:475
|
|
||||||
Y:0
|
|
||||||
Width:40
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
Align:Right
|
|
||||||
Label@DEATHS:
|
|
||||||
X:535
|
|
||||||
Y:0
|
|
||||||
Width:40
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
Align:Right
|
|
||||||
Label@ACTIONS_MIN:
|
|
||||||
X:635
|
|
||||||
Y:0
|
|
||||||
Width:40
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
Align:Right
|
|
||||||
ScrollItem@ECONOMY_PLAYER_TEMPLATE:
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
Width:PARENT_RIGHT-35
|
|
||||||
Height:25
|
|
||||||
Children:
|
|
||||||
Image@FLAG:
|
|
||||||
X:20
|
|
||||||
Y:5
|
|
||||||
Width:35
|
|
||||||
Height:PARENT_BOTTOM-5
|
|
||||||
ImageName:random
|
|
||||||
ImageCollection:flags
|
|
||||||
Label@PLAYER:
|
|
||||||
X:55
|
|
||||||
Y:0
|
|
||||||
Width:160
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
Font:Bold
|
|
||||||
Label@CASH:
|
|
||||||
X:215
|
|
||||||
Y:0
|
|
||||||
Width:80
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
Label@EARNED_MIN:
|
|
||||||
X:295
|
|
||||||
Y:0
|
|
||||||
Width:60
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
Label@EARNED_THIS_MIN:
|
|
||||||
X:395
|
|
||||||
Y:0
|
|
||||||
Width:60
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
Label@ASSETS:
|
|
||||||
X:535
|
|
||||||
Y:0
|
|
||||||
Width:60
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
Label@EARNED:
|
|
||||||
X:615
|
|
||||||
Y:0
|
|
||||||
Width:60
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
Label@SPENT:
|
|
||||||
X:695
|
|
||||||
Y:0
|
|
||||||
Width:60
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
Label@HARVESTERS:
|
|
||||||
X:775
|
|
||||||
Y:0
|
|
||||||
Width:60
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
Align:Right
|
|
||||||
ScrollItem@PRODUCTION_PLAYER_TEMPLATE:
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
Width:PARENT_RIGHT-35
|
|
||||||
Height:25
|
|
||||||
Children:
|
|
||||||
Image@FLAG:
|
|
||||||
X:20
|
|
||||||
Y:5
|
|
||||||
Width:35
|
|
||||||
Height:PARENT_BOTTOM-5
|
|
||||||
ImageName:random
|
|
||||||
ImageCollection:flags
|
|
||||||
Label@PLAYER:
|
|
||||||
X:55
|
|
||||||
Y:0
|
|
||||||
Width:160
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
Font:Bold
|
|
||||||
ObserverProductionIcons@PRODUCTION_ICONS:
|
|
||||||
X:215
|
|
||||||
Y:0
|
|
||||||
Width:320
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
ObserverSupportPowerIcons@SUPPORT_POWER_ICONS:
|
|
||||||
X:535
|
|
||||||
Y:0
|
|
||||||
Width:320
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
ScrollItem@COMBAT_PLAYER_TEMPLATE:
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
Width:PARENT_RIGHT-35
|
|
||||||
Height:25
|
|
||||||
Children:
|
|
||||||
Image@FLAG:
|
|
||||||
X:20
|
|
||||||
Y:5
|
|
||||||
Width:35
|
|
||||||
Height:PARENT_BOTTOM-5
|
|
||||||
ImageName:random
|
|
||||||
ImageCollection:flags
|
|
||||||
Label@PLAYER:
|
|
||||||
X:55
|
|
||||||
Y:0
|
|
||||||
Width:160
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
Font:Bold
|
|
||||||
Label@CONTROL:
|
|
||||||
X:215
|
|
||||||
Y:0
|
|
||||||
Width:60
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
Label@KILLS_COST:
|
|
||||||
X:295
|
|
||||||
Y:0
|
|
||||||
Width:60
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
Label@DEATHS_COST:
|
|
||||||
X:375
|
|
||||||
Y:0
|
|
||||||
Width:60
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
Label@UNITS_KILLED:
|
|
||||||
X:475
|
|
||||||
Y:0
|
|
||||||
Width:40
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
Align:Right
|
|
||||||
Label@UNITS_DEAD:
|
|
||||||
X:575
|
|
||||||
Y:0
|
|
||||||
Width:40
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
Align:Right
|
|
||||||
Label@BUILDINGS_KILLED:
|
|
||||||
X:695
|
|
||||||
Y:0
|
|
||||||
Width:40
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
Align:Right
|
|
||||||
Label@BUILDINGS_DEAD:
|
|
||||||
X:795
|
|
||||||
Y:0
|
|
||||||
Width:40
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
Align:Right
|
|
||||||
Container@EARNED_THIS_MIN_GRAPH_TEMPLATE:
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
Width:PARENT_RIGHT-100
|
|
||||||
Height:PARENT_BOTTOM-50
|
|
||||||
Children:
|
|
||||||
LineGraph@EARNED_THIS_MIN_GRAPH:
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
Width:PARENT_RIGHT
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
ValueFormat:${0}
|
|
||||||
XAxisValueFormat:{0}
|
|
||||||
YAxisValueFormat:${0:F0}
|
|
||||||
XAxisSize:20
|
|
||||||
YAxisSize:10
|
|
||||||
XAxisLabel:m
|
|
||||||
YAxisLabel:$
|
|
||||||
LabelFont:TinyBold
|
|
||||||
AxisFont:Bold
|
|
||||||
488
mods/ra/chrome/ingame-observerstats.yaml
Normal file
488
mods/ra/chrome/ingame-observerstats.yaml
Normal file
@@ -0,0 +1,488 @@
|
|||||||
|
Container@OBSERVER_STATS:
|
||||||
|
Logic:ObserverStatsLogic
|
||||||
|
X:25
|
||||||
|
Y:50
|
||||||
|
Width:950
|
||||||
|
Height:500
|
||||||
|
Visible:false
|
||||||
|
Children:
|
||||||
|
Background@BACKGROUND:
|
||||||
|
Width:PARENT_RIGHT
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
Background:dialog
|
||||||
|
Children:
|
||||||
|
Label@TITLE:
|
||||||
|
X:0
|
||||||
|
Y:15
|
||||||
|
Width:PARENT_RIGHT
|
||||||
|
Height:25
|
||||||
|
Font:Bold
|
||||||
|
Align:Center
|
||||||
|
Text:Statistics
|
||||||
|
DropDownButton@STATS_DROPDOWN:
|
||||||
|
X:PARENT_RIGHT-200
|
||||||
|
Y:15
|
||||||
|
Width:185
|
||||||
|
Height:25
|
||||||
|
Font:Bold
|
||||||
|
Container@BASIC_STATS_HEADERS:
|
||||||
|
X:0
|
||||||
|
Y:0
|
||||||
|
Width:PARENT_RIGHT
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
Children:
|
||||||
|
Label@PLAYER_HEADER:
|
||||||
|
X:85
|
||||||
|
Y:40
|
||||||
|
Width:160
|
||||||
|
Height:25
|
||||||
|
Font:Bold
|
||||||
|
Text:Player
|
||||||
|
Label@CASH_HEADER:
|
||||||
|
X:245
|
||||||
|
Y:40
|
||||||
|
Width:80
|
||||||
|
Height:25
|
||||||
|
Font:Bold
|
||||||
|
Text:Cash
|
||||||
|
Label@EARNED_MIN_HEADER:
|
||||||
|
X:325
|
||||||
|
Y:40
|
||||||
|
Width:60
|
||||||
|
Height:25
|
||||||
|
Font:Bold
|
||||||
|
Text:Earned/min
|
||||||
|
Label@POWER_HEADER:
|
||||||
|
X:425
|
||||||
|
Y:40
|
||||||
|
Width:80
|
||||||
|
Height:25
|
||||||
|
Font:Bold
|
||||||
|
Text:Power
|
||||||
|
Label@KILLS_HEADER:
|
||||||
|
X:505
|
||||||
|
Y:40
|
||||||
|
Width:40
|
||||||
|
Height:25
|
||||||
|
Font:Bold
|
||||||
|
Text:Kills
|
||||||
|
Align:Right
|
||||||
|
Label@DEATHS_HEADER:
|
||||||
|
X:565
|
||||||
|
Y:40
|
||||||
|
Width:40
|
||||||
|
Height:25
|
||||||
|
Font:Bold
|
||||||
|
Text:Deaths
|
||||||
|
Align:Right
|
||||||
|
Label@ACTIONS_MIN_HEADER:
|
||||||
|
X:665
|
||||||
|
Y:40
|
||||||
|
Width:40
|
||||||
|
Height:25
|
||||||
|
Font:Bold
|
||||||
|
Text:Actions/min
|
||||||
|
Align:Right
|
||||||
|
Container@ECONOMY_STATS_HEADERS:
|
||||||
|
X:0
|
||||||
|
Y:0
|
||||||
|
Width:PARENT_RIGHT
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
Children:
|
||||||
|
Label@PLAYER_HEADER:
|
||||||
|
X:85
|
||||||
|
Y:40
|
||||||
|
Width:160
|
||||||
|
Height:25
|
||||||
|
Font:Bold
|
||||||
|
Text:Player
|
||||||
|
Label@CASH_HEADER:
|
||||||
|
X:245
|
||||||
|
Y:40
|
||||||
|
Width:80
|
||||||
|
Height:25
|
||||||
|
Font:Bold
|
||||||
|
Text:Cash
|
||||||
|
Label@EARNED_MIN_HEADER:
|
||||||
|
X:325
|
||||||
|
Y:40
|
||||||
|
Width:60
|
||||||
|
Height:25
|
||||||
|
Font:Bold
|
||||||
|
Text:Earned/min
|
||||||
|
Label@EARNED_THIS_MIN_HEADER:
|
||||||
|
X:425
|
||||||
|
Y:40
|
||||||
|
Width:60
|
||||||
|
Height:25
|
||||||
|
Font:Bold
|
||||||
|
Text:Earned this min
|
||||||
|
Label@ASSETS_HEADER:
|
||||||
|
X:565
|
||||||
|
Y:40
|
||||||
|
Width:60
|
||||||
|
Height:25
|
||||||
|
Font:Bold
|
||||||
|
Text:Assets
|
||||||
|
Label@EARNED_HEADER:
|
||||||
|
X:645
|
||||||
|
Y:40
|
||||||
|
Width:60
|
||||||
|
Height:25
|
||||||
|
Font:Bold
|
||||||
|
Text:Earned
|
||||||
|
Label@SPENT_HEADER:
|
||||||
|
X:725
|
||||||
|
Y:40
|
||||||
|
Width:60
|
||||||
|
Height:25
|
||||||
|
Font:Bold
|
||||||
|
Text:Spent
|
||||||
|
Label@HARVESTERS_HEADER:
|
||||||
|
X:805
|
||||||
|
Y:40
|
||||||
|
Width:60
|
||||||
|
Height:25
|
||||||
|
Font:Bold
|
||||||
|
Text:Harvesters
|
||||||
|
Align:Right
|
||||||
|
Container@PRODUCTION_STATS_HEADERS:
|
||||||
|
X:0
|
||||||
|
Y:0
|
||||||
|
Width:PARENT_RIGHT
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
Children:
|
||||||
|
Label@PLAYER_HEADER:
|
||||||
|
X:85
|
||||||
|
Y:40
|
||||||
|
Width:160
|
||||||
|
Height:25
|
||||||
|
Font:Bold
|
||||||
|
Text:Player
|
||||||
|
Label@PRODUCTION_HEADER:
|
||||||
|
X:245
|
||||||
|
Y:40
|
||||||
|
Width:320
|
||||||
|
Height:25
|
||||||
|
Font:Bold
|
||||||
|
Text:Production
|
||||||
|
Label@SUPPORT_POWERS_HEADER:
|
||||||
|
X:565
|
||||||
|
Y:40
|
||||||
|
Width:320
|
||||||
|
Height:25
|
||||||
|
Font:Bold
|
||||||
|
Text:Support Powers
|
||||||
|
Container@COMBAT_STATS_HEADERS:
|
||||||
|
X:0
|
||||||
|
Y:0
|
||||||
|
Width:PARENT_RIGHT
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
Children:
|
||||||
|
Label@PLAYER_HEADER:
|
||||||
|
X:85
|
||||||
|
Y:40
|
||||||
|
Width:160
|
||||||
|
Height:25
|
||||||
|
Font:Bold
|
||||||
|
Text:Player
|
||||||
|
Label@CONTROL_HEADER:
|
||||||
|
X:245
|
||||||
|
Y:40
|
||||||
|
Width:60
|
||||||
|
Height:25
|
||||||
|
Font:Bold
|
||||||
|
Text:Control
|
||||||
|
Label@KILLS_COST_HEADER:
|
||||||
|
X:325
|
||||||
|
Y:40
|
||||||
|
Width:60
|
||||||
|
Height:25
|
||||||
|
Font:Bold
|
||||||
|
Text:Kills
|
||||||
|
Label@DEATHS_COST_HEADER:
|
||||||
|
X:405
|
||||||
|
Y:40
|
||||||
|
Width:60
|
||||||
|
Height:25
|
||||||
|
Font:Bold
|
||||||
|
Text:Deaths
|
||||||
|
Label@UNITS_KILLED_HEADER:
|
||||||
|
X:505
|
||||||
|
Y:40
|
||||||
|
Width:40
|
||||||
|
Height:25
|
||||||
|
Font:Bold
|
||||||
|
Text:Units Killed
|
||||||
|
Align:Right
|
||||||
|
Label@UNITS_DEAD_HEADER:
|
||||||
|
X:605
|
||||||
|
Y:40
|
||||||
|
Width:40
|
||||||
|
Height:25
|
||||||
|
Font:Bold
|
||||||
|
Text:Units Lost
|
||||||
|
Align:Right
|
||||||
|
Label@BUILDINGS_KILLED_HEADER:
|
||||||
|
X:725
|
||||||
|
Y:40
|
||||||
|
Width:40
|
||||||
|
Height:25
|
||||||
|
Font:Bold
|
||||||
|
Text:Bldg Killed
|
||||||
|
Align:Right
|
||||||
|
Label@BUILDINGS_DEAD_HEADER:
|
||||||
|
X:825
|
||||||
|
Y:40
|
||||||
|
Width:40
|
||||||
|
Height:25
|
||||||
|
Font:Bold
|
||||||
|
Text:Bldg Lost
|
||||||
|
Align:Right
|
||||||
|
Container@EARNED_THIS_MIN_GRAPH_HEADERS:
|
||||||
|
X:0
|
||||||
|
Y:0
|
||||||
|
Width:PARENT_RIGHT
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
Children:
|
||||||
|
Label@EARNED_THIS_MIN_HEADER:
|
||||||
|
X:0
|
||||||
|
Y:40
|
||||||
|
Width:PARENT_RIGHT
|
||||||
|
Height:25
|
||||||
|
Font:Bold
|
||||||
|
Text:Earnings received each minute
|
||||||
|
Align:Center
|
||||||
|
ScrollPanel@PLAYER_STATS_PANEL:
|
||||||
|
X:25
|
||||||
|
Y:70
|
||||||
|
Width:PARENT_RIGHT-50
|
||||||
|
Height:PARENT_BOTTOM-45-50
|
||||||
|
ItemSpacing:5
|
||||||
|
Children:
|
||||||
|
ScrollItem@TEAM_TEMPLATE:
|
||||||
|
X:0
|
||||||
|
Y:0
|
||||||
|
Width:PARENT_RIGHT-35
|
||||||
|
Height:25
|
||||||
|
Children:
|
||||||
|
Label@TEAM:
|
||||||
|
X:0
|
||||||
|
Y:0
|
||||||
|
Width:PARENT_RIGHT
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
Font:Bold
|
||||||
|
ScrollItem@BASIC_PLAYER_TEMPLATE:
|
||||||
|
X:0
|
||||||
|
Y:0
|
||||||
|
Width:PARENT_RIGHT-35
|
||||||
|
Height:25
|
||||||
|
Children:
|
||||||
|
Image@FLAG:
|
||||||
|
X:20
|
||||||
|
Y:5
|
||||||
|
Width:35
|
||||||
|
Height:PARENT_BOTTOM-5
|
||||||
|
ImageName:random
|
||||||
|
ImageCollection:flags
|
||||||
|
Label@PLAYER:
|
||||||
|
X:55
|
||||||
|
Y:0
|
||||||
|
Width:160
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
Font:Bold
|
||||||
|
Label@CASH:
|
||||||
|
X:215
|
||||||
|
Y:0
|
||||||
|
Width:80
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
Label@EARNED_MIN:
|
||||||
|
X:295
|
||||||
|
Y:0
|
||||||
|
Width:60
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
Label@POWER:
|
||||||
|
X:395
|
||||||
|
Y:0
|
||||||
|
Width:80
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
Label@KILLS:
|
||||||
|
X:475
|
||||||
|
Y:0
|
||||||
|
Width:40
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
Align:Right
|
||||||
|
Label@DEATHS:
|
||||||
|
X:535
|
||||||
|
Y:0
|
||||||
|
Width:40
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
Align:Right
|
||||||
|
Label@ACTIONS_MIN:
|
||||||
|
X:635
|
||||||
|
Y:0
|
||||||
|
Width:40
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
Align:Right
|
||||||
|
ScrollItem@ECONOMY_PLAYER_TEMPLATE:
|
||||||
|
X:0
|
||||||
|
Y:0
|
||||||
|
Width:PARENT_RIGHT-35
|
||||||
|
Height:25
|
||||||
|
Children:
|
||||||
|
Image@FLAG:
|
||||||
|
X:20
|
||||||
|
Y:5
|
||||||
|
Width:35
|
||||||
|
Height:PARENT_BOTTOM-5
|
||||||
|
ImageName:random
|
||||||
|
ImageCollection:flags
|
||||||
|
Label@PLAYER:
|
||||||
|
X:55
|
||||||
|
Y:0
|
||||||
|
Width:160
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
Font:Bold
|
||||||
|
Label@CASH:
|
||||||
|
X:215
|
||||||
|
Y:0
|
||||||
|
Width:80
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
Label@EARNED_MIN:
|
||||||
|
X:295
|
||||||
|
Y:0
|
||||||
|
Width:60
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
Label@EARNED_THIS_MIN:
|
||||||
|
X:395
|
||||||
|
Y:0
|
||||||
|
Width:60
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
Label@ASSETS:
|
||||||
|
X:535
|
||||||
|
Y:0
|
||||||
|
Width:60
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
Label@EARNED:
|
||||||
|
X:615
|
||||||
|
Y:0
|
||||||
|
Width:60
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
Label@SPENT:
|
||||||
|
X:695
|
||||||
|
Y:0
|
||||||
|
Width:60
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
Label@HARVESTERS:
|
||||||
|
X:775
|
||||||
|
Y:0
|
||||||
|
Width:60
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
Align:Right
|
||||||
|
ScrollItem@PRODUCTION_PLAYER_TEMPLATE:
|
||||||
|
X:0
|
||||||
|
Y:0
|
||||||
|
Width:PARENT_RIGHT-35
|
||||||
|
Height:25
|
||||||
|
Children:
|
||||||
|
Image@FLAG:
|
||||||
|
X:20
|
||||||
|
Y:5
|
||||||
|
Width:35
|
||||||
|
Height:PARENT_BOTTOM-5
|
||||||
|
ImageName:random
|
||||||
|
ImageCollection:flags
|
||||||
|
Label@PLAYER:
|
||||||
|
X:55
|
||||||
|
Y:0
|
||||||
|
Width:160
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
Font:Bold
|
||||||
|
ObserverProductionIcons@PRODUCTION_ICONS:
|
||||||
|
X:215
|
||||||
|
Y:0
|
||||||
|
Width:320
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
ObserverSupportPowerIcons@SUPPORT_POWER_ICONS:
|
||||||
|
X:535
|
||||||
|
Y:0
|
||||||
|
Width:320
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
ScrollItem@COMBAT_PLAYER_TEMPLATE:
|
||||||
|
X:0
|
||||||
|
Y:0
|
||||||
|
Width:PARENT_RIGHT-35
|
||||||
|
Height:25
|
||||||
|
Children:
|
||||||
|
Image@FLAG:
|
||||||
|
X:20
|
||||||
|
Y:5
|
||||||
|
Width:35
|
||||||
|
Height:PARENT_BOTTOM-5
|
||||||
|
ImageName:random
|
||||||
|
ImageCollection:flags
|
||||||
|
Label@PLAYER:
|
||||||
|
X:55
|
||||||
|
Y:0
|
||||||
|
Width:160
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
Font:Bold
|
||||||
|
Label@CONTROL:
|
||||||
|
X:215
|
||||||
|
Y:0
|
||||||
|
Width:60
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
Label@KILLS_COST:
|
||||||
|
X:295
|
||||||
|
Y:0
|
||||||
|
Width:60
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
Label@DEATHS_COST:
|
||||||
|
X:375
|
||||||
|
Y:0
|
||||||
|
Width:60
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
Label@UNITS_KILLED:
|
||||||
|
X:475
|
||||||
|
Y:0
|
||||||
|
Width:40
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
Align:Right
|
||||||
|
Label@UNITS_DEAD:
|
||||||
|
X:575
|
||||||
|
Y:0
|
||||||
|
Width:40
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
Align:Right
|
||||||
|
Label@BUILDINGS_KILLED:
|
||||||
|
X:695
|
||||||
|
Y:0
|
||||||
|
Width:40
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
Align:Right
|
||||||
|
Label@BUILDINGS_DEAD:
|
||||||
|
X:795
|
||||||
|
Y:0
|
||||||
|
Width:40
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
Align:Right
|
||||||
|
Container@EARNED_THIS_MIN_GRAPH_TEMPLATE:
|
||||||
|
X:0
|
||||||
|
Y:0
|
||||||
|
Width:PARENT_RIGHT-100
|
||||||
|
Height:PARENT_BOTTOM-50
|
||||||
|
Children:
|
||||||
|
LineGraph@EARNED_THIS_MIN_GRAPH:
|
||||||
|
X:0
|
||||||
|
Y:0
|
||||||
|
Width:PARENT_RIGHT
|
||||||
|
Height:PARENT_BOTTOM
|
||||||
|
ValueFormat:${0}
|
||||||
|
XAxisValueFormat:{0}
|
||||||
|
YAxisValueFormat:${0:F0}
|
||||||
|
XAxisSize:20
|
||||||
|
YAxisSize:10
|
||||||
|
XAxisLabel:m
|
||||||
|
YAxisLabel:$
|
||||||
|
LabelFont:TinyBold
|
||||||
|
AxisFont:Bold
|
||||||
@@ -22,47 +22,7 @@ Container@INGAME_ROOT:
|
|||||||
StrategicProgress@STRATEGIC_PROGRESS:
|
StrategicProgress@STRATEGIC_PROGRESS:
|
||||||
X: WINDOW_RIGHT/2
|
X: WINDOW_RIGHT/2
|
||||||
Y: 40
|
Y: 40
|
||||||
Background@POSTGAME_BG:
|
Container@PLAYER_ROOT:
|
||||||
X:(WINDOW_RIGHT - WIDTH)/2
|
|
||||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
|
||||||
Width:400
|
|
||||||
Height:100
|
|
||||||
Background:dialog4
|
|
||||||
Visible:false
|
|
||||||
Children:
|
|
||||||
Label@TEXT:
|
|
||||||
X:(PARENT_RIGHT - WIDTH)/2
|
|
||||||
Y:0
|
|
||||||
Width:200
|
|
||||||
Height:80
|
|
||||||
Align:Center
|
|
||||||
Button@POSTGAME_OBSERVE:
|
|
||||||
X:10
|
|
||||||
Y:(PARENT_BOTTOM - HEIGHT - 10)
|
|
||||||
Width:150
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Observe
|
|
||||||
Button@POSTGAME_QUIT:
|
|
||||||
X:(PARENT_RIGHT - WIDTH - 10)
|
|
||||||
Y:(PARENT_BOTTOM - HEIGHT - 10)
|
|
||||||
Width:150
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Leave
|
|
||||||
SupportPowerBin@INGAME_POWERS_BIN:
|
|
||||||
X:0
|
|
||||||
Y:25
|
|
||||||
ReadyText: READY
|
|
||||||
HoldText: ON HOLD
|
|
||||||
BuildPalette@INGAME_BUILD_PALETTE:
|
|
||||||
X:WINDOW_RIGHT - 250
|
|
||||||
Y:280
|
|
||||||
Width:250
|
|
||||||
Height:500
|
|
||||||
ReadyText: READY
|
|
||||||
HoldText: ON HOLD
|
|
||||||
RequiresText: Requires
|
|
||||||
Button@INGAME_OPTIONS_BUTTON:
|
Button@INGAME_OPTIONS_BUTTON:
|
||||||
X:0
|
X:0
|
||||||
Y:0
|
Y:0
|
||||||
@@ -71,6 +31,30 @@ Container@INGAME_ROOT:
|
|||||||
Text:Options (ESC)
|
Text:Options (ESC)
|
||||||
Font:Bold
|
Font:Bold
|
||||||
Key: escape
|
Key: escape
|
||||||
|
WorldTooltip:
|
||||||
|
Background@PERF_BG:
|
||||||
|
ClickThrough:true
|
||||||
|
Background:dialog4
|
||||||
|
Logic:PerfDebugLogic
|
||||||
|
X:10
|
||||||
|
Y:WINDOW_BOTTOM - 250
|
||||||
|
Width: 210
|
||||||
|
Height: 250
|
||||||
|
Children:
|
||||||
|
PerfGraph@GRAPH:
|
||||||
|
X:5
|
||||||
|
Y:5
|
||||||
|
Width:200
|
||||||
|
Height:200
|
||||||
|
Label@TEXT:
|
||||||
|
X:20
|
||||||
|
Y:205
|
||||||
|
Width:170
|
||||||
|
Height:40
|
||||||
|
|
||||||
|
Container@PLAYER_WIDGETS:
|
||||||
|
Children:
|
||||||
|
LogicTicker@WIN_LOSS_WATCHER:
|
||||||
Button@INGAME_DIPLOMACY_BUTTON:
|
Button@INGAME_DIPLOMACY_BUTTON:
|
||||||
X:162
|
X:162
|
||||||
Y:0
|
Y:0
|
||||||
@@ -133,58 +117,19 @@ Container@INGAME_ROOT:
|
|||||||
Image:repair
|
Image:repair
|
||||||
Description:Repair
|
Description:Repair
|
||||||
LongDesc:Repair damaged buildings
|
LongDesc:Repair damaged buildings
|
||||||
WorldTooltip:
|
SupportPowerBin@INGAME_POWERS_BIN:
|
||||||
Background@INGAME_OPTIONS_BG:
|
X:0
|
||||||
X:(WINDOW_RIGHT - WIDTH)/2
|
Y:25
|
||||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
ReadyText: READY
|
||||||
Width:300
|
HoldText: ON HOLD
|
||||||
Height:295
|
BuildPalette@INGAME_BUILD_PALETTE:
|
||||||
Visible:false
|
X:WINDOW_RIGHT - 250
|
||||||
Children:
|
Y:280
|
||||||
Label@LABEL_TITLE:
|
Width:250
|
||||||
X:(PARENT_RIGHT - WIDTH)/2
|
Height:500
|
||||||
Y:20
|
ReadyText: READY
|
||||||
Width:250
|
HoldText: ON HOLD
|
||||||
Height:25
|
RequiresText: Requires
|
||||||
Text:Options
|
|
||||||
Align:Center
|
|
||||||
Font:Bold
|
|
||||||
Button@RESUME:
|
|
||||||
X:(PARENT_RIGHT - WIDTH)/2
|
|
||||||
Y:60
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Resume
|
|
||||||
Font:Bold
|
|
||||||
Key:escape
|
|
||||||
Button@SETTINGS:
|
|
||||||
X:(PARENT_RIGHT - WIDTH)/2
|
|
||||||
Y:100
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Settings
|
|
||||||
Font:Bold
|
|
||||||
Button@MUSIC:
|
|
||||||
X:(PARENT_RIGHT - WIDTH)/2
|
|
||||||
Y:140
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Music
|
|
||||||
Font:Bold
|
|
||||||
Button@SURRENDER:
|
|
||||||
X:(PARENT_RIGHT - WIDTH)/2
|
|
||||||
Y:180
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Surrender
|
|
||||||
Font:Bold
|
|
||||||
Button@DISCONNECT:
|
|
||||||
X:(PARENT_RIGHT - WIDTH)/2
|
|
||||||
Y:220
|
|
||||||
Width:160
|
|
||||||
Height:25
|
|
||||||
Text:Abort Mission
|
|
||||||
Font:Bold
|
|
||||||
Background@DIPLOMACY_BG:
|
Background@DIPLOMACY_BG:
|
||||||
Logic:DiplomacyLogic
|
Logic:DiplomacyLogic
|
||||||
X:(WINDOW_RIGHT - WIDTH)/2
|
X:(WINDOW_RIGHT - WIDTH)/2
|
||||||
@@ -209,22 +154,36 @@ Container@INGAME_ROOT:
|
|||||||
Text:Close
|
Text:Close
|
||||||
Font:Bold
|
Font:Bold
|
||||||
Key:escape
|
Key:escape
|
||||||
Background@PERF_BG:
|
|
||||||
ClickThrough:true
|
Container@OBSERVER_WIDGETS:
|
||||||
Background:dialog4
|
Children:
|
||||||
Logic:PerfDebugLogic
|
SupportPowerBin@INGAME_POWERS_BIN:
|
||||||
X:10
|
X:0
|
||||||
Y:WINDOW_BOTTOM - 250
|
Y:25
|
||||||
Width: 210
|
Button@INGAME_STATS_BUTTON:
|
||||||
Height: 250
|
X:162
|
||||||
|
Y:0
|
||||||
|
Width:160
|
||||||
|
Height:25
|
||||||
|
Text:Statistics (F1)
|
||||||
|
Font:Bold
|
||||||
|
Key:f1
|
||||||
|
Background@RADAR_BG:
|
||||||
|
X:WINDOW_RIGHT-255
|
||||||
|
Y:5
|
||||||
|
Width:250
|
||||||
|
Height:250
|
||||||
Children:
|
Children:
|
||||||
PerfGraph@GRAPH:
|
Radar@INGAME_RADAR:
|
||||||
X:5
|
X:10
|
||||||
Y:5
|
Y:10
|
||||||
Width:200
|
Width:PARENT_RIGHT-19
|
||||||
Height:200
|
Height:PARENT_BOTTOM-19
|
||||||
Label@TEXT:
|
WorldInteractionController:INTERACTION_CONTROLLER
|
||||||
X:20
|
DropDownButton@SHROUD_SELECTOR:
|
||||||
Y:205
|
Logic:ObserverShroudSelectorLogic
|
||||||
Width:170
|
X:WINDOW_RIGHT-250
|
||||||
Height:40
|
Y:260
|
||||||
|
Width:240
|
||||||
|
Height:25
|
||||||
|
Font:Bold
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
Background@MAINMENU_BG:
|
Background@MAINMENU:
|
||||||
X:(WINDOW_RIGHT - WIDTH)/2
|
X:(WINDOW_RIGHT - WIDTH)/2
|
||||||
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
Y:(WINDOW_BOTTOM - HEIGHT)/2
|
||||||
Width:250
|
Width:250
|
||||||
|
|||||||
@@ -1,102 +0,0 @@
|
|||||||
Container@MISSION_OBJECTIVES:
|
|
||||||
Logic:MissionObjectivesLogic
|
|
||||||
X:25
|
|
||||||
Y:50
|
|
||||||
Width:512
|
|
||||||
Height:530
|
|
||||||
Children:
|
|
||||||
Background@BACKGROUND:
|
|
||||||
Width:512
|
|
||||||
Height:530
|
|
||||||
Background:dialog
|
|
||||||
Children:
|
|
||||||
Label@TITLE:
|
|
||||||
X:0
|
|
||||||
Y:15
|
|
||||||
Width:PARENT_RIGHT
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Align:Center
|
|
||||||
Text:Objectives
|
|
||||||
Label@PRIMARY_OBJECTIVE_HEADER:
|
|
||||||
X:40
|
|
||||||
Y:40
|
|
||||||
Width:300
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Primary Objectives
|
|
||||||
Label@PRIMARY_STATUS_HEADER:
|
|
||||||
X:350
|
|
||||||
Y:40
|
|
||||||
Width:122
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Status
|
|
||||||
ScrollPanel@PRIMARY_OBJECTIVES:
|
|
||||||
X:25
|
|
||||||
Y:70
|
|
||||||
Width:PARENT_RIGHT-50
|
|
||||||
Height:200
|
|
||||||
ItemSpacing:5
|
|
||||||
Children:
|
|
||||||
Container@PRIMARY_OBJECTIVE_TEMPLATE:
|
|
||||||
X:15
|
|
||||||
Y:0-15
|
|
||||||
Width:PARENT_RIGHT
|
|
||||||
Height:60
|
|
||||||
Children:
|
|
||||||
Label@PRIMARY_OBJECTIVE:
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
Width:300
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
Font:Regular
|
|
||||||
WordWrap:True
|
|
||||||
Label@PRIMARY_STATUS:
|
|
||||||
X:310
|
|
||||||
Y:0
|
|
||||||
Width:122
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
Font:Bold
|
|
||||||
WordWrap:True
|
|
||||||
Label@SECONDARY_OBJECTIVE_HEADER:
|
|
||||||
X:40
|
|
||||||
Y:275
|
|
||||||
Width:300
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Secondary Objectives
|
|
||||||
Label@SECONDARY_STATUS_HEADER:
|
|
||||||
X:350
|
|
||||||
Y:275
|
|
||||||
Width:122
|
|
||||||
Height:25
|
|
||||||
Font:Bold
|
|
||||||
Text:Status
|
|
||||||
ScrollPanel@SECONDARY_OBJECTIVES:
|
|
||||||
X:25
|
|
||||||
Y:305
|
|
||||||
Width:PARENT_RIGHT-50
|
|
||||||
Height:200
|
|
||||||
ItemSpacing:5
|
|
||||||
Children:
|
|
||||||
Container@SECONDARY_OBJECTIVE_TEMPLATE:
|
|
||||||
X:15
|
|
||||||
Y:0-15
|
|
||||||
Width:PARENT_RIGHT
|
|
||||||
Height:60
|
|
||||||
Children:
|
|
||||||
Label@SECONDARY_OBJECTIVE:
|
|
||||||
X:0
|
|
||||||
Y:0
|
|
||||||
Width:300
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
Font:Regular
|
|
||||||
WordWrap:True
|
|
||||||
Label@SECONDARY_STATUS:
|
|
||||||
X:310
|
|
||||||
Y:0
|
|
||||||
Width:122
|
|
||||||
Height:PARENT_BOTTOM
|
|
||||||
Font:Bold
|
|
||||||
WordWrap:True
|
|
||||||
@@ -1321,6 +1321,8 @@ Rules:
|
|||||||
-SpawnMPUnits:
|
-SpawnMPUnits:
|
||||||
-MPStartLocations:
|
-MPStartLocations:
|
||||||
DesertShellmapScript:
|
DesertShellmapScript:
|
||||||
|
LoadWidgetAtGameStart:
|
||||||
|
Widget: MAINMENU
|
||||||
TRAN.Husk2:
|
TRAN.Husk2:
|
||||||
Burns:
|
Burns:
|
||||||
Damage: 0
|
Damage: 0
|
||||||
|
|||||||
@@ -1294,6 +1294,8 @@ Rules:
|
|||||||
DefaultShellmapScript:
|
DefaultShellmapScript:
|
||||||
-SpawnMPUnits:
|
-SpawnMPUnits:
|
||||||
-MPStartLocations:
|
-MPStartLocations:
|
||||||
|
LoadWidgetAtGameStart:
|
||||||
|
Widget: MAINMENU
|
||||||
MSLO:
|
MSLO:
|
||||||
Building:
|
Building:
|
||||||
Power: 0
|
Power: 0
|
||||||
|
|||||||
@@ -56,8 +56,10 @@ ChromeLayout:
|
|||||||
mods/ra/chrome/gameinit.yaml
|
mods/ra/chrome/gameinit.yaml
|
||||||
mods/ra/chrome/ingame.yaml
|
mods/ra/chrome/ingame.yaml
|
||||||
mods/ra/chrome/ingame-chat.yaml
|
mods/ra/chrome/ingame-chat.yaml
|
||||||
mods/ra/chrome/ingame-observer.yaml
|
|
||||||
mods/ra/chrome/ingame-fmvplayer.yaml
|
mods/ra/chrome/ingame-fmvplayer.yaml
|
||||||
|
mods/ra/chrome/ingame-menu.yaml
|
||||||
|
mods/ra/chrome/ingame-objectives.yaml
|
||||||
|
mods/ra/chrome/ingame-observerstats.yaml
|
||||||
mods/ra/chrome/mainmenu.yaml
|
mods/ra/chrome/mainmenu.yaml
|
||||||
mods/ra/chrome/settings.yaml
|
mods/ra/chrome/settings.yaml
|
||||||
mods/ra/chrome/lobby.yaml
|
mods/ra/chrome/lobby.yaml
|
||||||
@@ -69,7 +71,6 @@ ChromeLayout:
|
|||||||
mods/ra/chrome/dropdowns.yaml
|
mods/ra/chrome/dropdowns.yaml
|
||||||
mods/ra/chrome/modchooser.yaml
|
mods/ra/chrome/modchooser.yaml
|
||||||
mods/ra/chrome/cheats.yaml
|
mods/ra/chrome/cheats.yaml
|
||||||
mods/ra/chrome/objectives.yaml
|
|
||||||
mods/ra/chrome/tooltips.yaml
|
mods/ra/chrome/tooltips.yaml
|
||||||
|
|
||||||
Weapons:
|
Weapons:
|
||||||
|
|||||||
@@ -506,9 +506,8 @@ Player:
|
|||||||
PlayerStatistics:
|
PlayerStatistics:
|
||||||
|
|
||||||
World:
|
World:
|
||||||
OpenWidgetAtGameStart:
|
LoadWidgetAtGameStart:
|
||||||
Widget: INGAME_ROOT
|
Widget: INGAME_ROOT
|
||||||
ObserverWidget: OBSERVER_ROOT
|
|
||||||
ScreenShaker:
|
ScreenShaker:
|
||||||
WaterPaletteRotation:
|
WaterPaletteRotation:
|
||||||
ExcludePalettes: player
|
ExcludePalettes: player
|
||||||
|
|||||||
Reference in New Issue
Block a user