Merge pull request #7217 from Mailaender/chrome-init-cleanup
Cleaned up the ingame widget initialization
This commit is contained in:
@@ -135,7 +135,7 @@ namespace OpenRA
|
||||
}
|
||||
|
||||
public static event Action BeforeGameStart = () => { };
|
||||
internal static void StartGame(string mapUID, bool isShellmap)
|
||||
internal static void StartGame(string mapUID, WorldType type)
|
||||
{
|
||||
Cursor.SetCursor(null);
|
||||
BeforeGameStart();
|
||||
@@ -146,12 +146,13 @@ namespace OpenRA
|
||||
map = ModData.PrepareMap(mapUID);
|
||||
using (new PerfTimer("NewWorld"))
|
||||
{
|
||||
OrderManager.World = new World(map, OrderManager, isShellmap);
|
||||
OrderManager.World = new World(map, OrderManager, type);
|
||||
OrderManager.World.Timestep = Timestep;
|
||||
}
|
||||
|
||||
if (worldRenderer != null)
|
||||
worldRenderer.Dispose();
|
||||
|
||||
worldRenderer = new WorldRenderer(OrderManager.World);
|
||||
|
||||
using (new PerfTimer("LoadComplete"))
|
||||
@@ -376,7 +377,7 @@ namespace OpenRA
|
||||
var shellmap = ChooseShellmap();
|
||||
|
||||
using (new PerfTimer("StartGame"))
|
||||
StartGame(shellmap, true);
|
||||
StartGame(shellmap, WorldType.Shellmap);
|
||||
}
|
||||
|
||||
static string ChooseShellmap()
|
||||
|
||||
@@ -109,7 +109,7 @@ namespace OpenRA.Graphics
|
||||
{
|
||||
RefreshPalette();
|
||||
|
||||
if (World.IsShellmap && !Game.Settings.Game.ShowShellmap)
|
||||
if (World.Type == WorldType.Shellmap && !Game.Settings.Game.ShowShellmap)
|
||||
return;
|
||||
|
||||
var renderables = GenerateRenderables();
|
||||
@@ -158,7 +158,7 @@ namespace OpenRA.Graphics
|
||||
foreach (var r in g)
|
||||
r.RenderDebugGeometry(this);
|
||||
|
||||
if (!World.IsShellmap && Game.Settings.Game.AlwaysShowStatusBars)
|
||||
if (World.Type == WorldType.Regular && Game.Settings.Game.AlwaysShowStatusBars)
|
||||
{
|
||||
foreach (var g in World.Actors.Where(a => !a.Destroyed
|
||||
&& a.HasTrait<Selectable>()
|
||||
|
||||
@@ -103,7 +103,7 @@ namespace OpenRA.Network
|
||||
}
|
||||
|
||||
Game.AddChatLine(Color.White, "Server", "The game has started.");
|
||||
Game.StartGame(orderManager.LobbyInfo.GlobalSettings.Map, false);
|
||||
Game.StartGame(orderManager.LobbyInfo.GlobalSettings.Map, WorldType.Regular);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,8 @@ using OpenRA.Traits;
|
||||
|
||||
namespace OpenRA
|
||||
{
|
||||
public enum WorldType { Regular, Shellmap }
|
||||
|
||||
public class World
|
||||
{
|
||||
static readonly Func<MPos, bool> FalsePredicate = _ => false;
|
||||
@@ -109,6 +111,8 @@ namespace OpenRA
|
||||
public readonly TileSet TileSet;
|
||||
public readonly ActorMap ActorMap;
|
||||
public readonly ScreenMap ScreenMap;
|
||||
public readonly WorldType Type;
|
||||
|
||||
readonly GameInformation gameInfo;
|
||||
|
||||
public void IssueOrder(Order o) { OrderManager.IssueOrder(o); } /* avoid exposing the OM to mod code */
|
||||
@@ -146,9 +150,9 @@ namespace OpenRA
|
||||
}
|
||||
}
|
||||
|
||||
internal World(Map map, OrderManager orderManager, bool isShellmap)
|
||||
internal World(Map map, OrderManager orderManager, WorldType type)
|
||||
{
|
||||
IsShellmap = isShellmap;
|
||||
Type = type;
|
||||
OrderManager = orderManager;
|
||||
orderGenerator = new UnitOrderGenerator();
|
||||
Map = map;
|
||||
@@ -242,7 +246,7 @@ namespace OpenRA
|
||||
public bool Paused { get; internal set; }
|
||||
public bool PredictedPaused { get; internal set; }
|
||||
public bool PauseStateLocked { get; set; }
|
||||
public bool IsShellmap = false;
|
||||
|
||||
public int WorldTick { get; private set; }
|
||||
|
||||
public void SetPauseState(bool paused)
|
||||
@@ -261,7 +265,7 @@ namespace OpenRA
|
||||
|
||||
public void Tick()
|
||||
{
|
||||
if (!Paused && (!IsShellmap || Game.Settings.Game.ShowShellmap))
|
||||
if (!Paused && (Type != WorldType.Shellmap || Game.Settings.Game.ShowShellmap))
|
||||
{
|
||||
WorldTick++;
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
#endregion
|
||||
|
||||
using OpenRA.Graphics;
|
||||
using OpenRA.Mods.Common.Widgets;
|
||||
using OpenRA.Traits;
|
||||
using OpenRA.Widgets;
|
||||
|
||||
@@ -16,14 +17,22 @@ namespace OpenRA.Mods.Common.Traits
|
||||
{
|
||||
public class LoadWidgetAtGameStartInfo : ITraitInfo
|
||||
{
|
||||
public readonly string Widget = null;
|
||||
[Desc("The widget tree to open when a shellmap is loaded (i.e. the main menu).")]
|
||||
public readonly string ShellmapRoot = "MAINMENU";
|
||||
|
||||
[Desc("The widget tree to open when a regular map is loaded (i.e. the ingame UI).")]
|
||||
public readonly string IngameRoot = "INGAME_ROOT";
|
||||
|
||||
[Desc("Remove any existing UI when a map is loaded.")]
|
||||
public readonly bool ClearRoot = true;
|
||||
|
||||
public object Create(ActorInitializer init) { return new LoadWidgetAtGameStart(this); }
|
||||
}
|
||||
|
||||
public class LoadWidgetAtGameStart : IWorldLoaded
|
||||
{
|
||||
readonly LoadWidgetAtGameStartInfo info;
|
||||
|
||||
public LoadWidgetAtGameStart(LoadWidgetAtGameStartInfo info)
|
||||
{
|
||||
this.info = info;
|
||||
@@ -35,7 +44,8 @@ namespace OpenRA.Mods.Common.Traits
|
||||
if (info.ClearRoot)
|
||||
Ui.ResetAll();
|
||||
|
||||
Game.LoadWidget(world, info.Widget, Ui.Root, new WidgetArgs());
|
||||
var widget = world.Type == WorldType.Shellmap ? info.ShellmapRoot : info.IngameRoot;
|
||||
Game.LoadWidget(world, widget, Ui.Root, new WidgetArgs());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8,7 +8,6 @@
|
||||
*/
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using OpenRA.Widgets;
|
||||
|
||||
namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
|
||||
@@ -92,11 +92,11 @@
|
||||
<Compile Include="Traits\World\WormManager.cs" />
|
||||
<Compile Include="Warheads\ChangeOwnerWarhead.cs" />
|
||||
<Compile Include="Widgets\BuildPaletteWidget.cs" />
|
||||
<Compile Include="Widgets\Logic\IngameChromeLogic.cs" />
|
||||
<Compile Include="Widgets\MoneyBinWidget.cs" />
|
||||
<Compile Include="Widgets\SupportPowerBinWidget.cs" />
|
||||
<Compile Include="Widgets\SlidingContainerWidget.cs" />
|
||||
<Compile Include="Traits\Render\WithAttackOverlay.cs" />
|
||||
<Compile Include="Widgets\Logic\SlidingRadarBinLogic.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<PropertyGroup>
|
||||
|
||||
@@ -1,122 +0,0 @@
|
||||
#region Copyright & License Information
|
||||
/*
|
||||
* Copyright 2007-2014 The OpenRA Developers (see AUTHORS)
|
||||
* This file is part of OpenRA, which is free software. It is made
|
||||
* available to you under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation. For more information,
|
||||
* see COPYING.
|
||||
*/
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using OpenRA.Mods.Common.Traits;
|
||||
using OpenRA.Mods.Common.Widgets;
|
||||
using OpenRA.Mods.D2k.Widgets;
|
||||
using OpenRA.Mods.RA;
|
||||
using OpenRA.Mods.RA.Widgets;
|
||||
using OpenRA.Mods.RA.Widgets.Logic;
|
||||
using OpenRA.Traits;
|
||||
using OpenRA.Widgets;
|
||||
|
||||
namespace OpenRA.Mods.D2k.Widgets.Logic
|
||||
{
|
||||
public class IngameChromeLogic
|
||||
{
|
||||
readonly Widget ingameRoot;
|
||||
readonly Widget worldRoot;
|
||||
readonly Widget menuRoot;
|
||||
readonly Widget playerRoot;
|
||||
readonly World world;
|
||||
|
||||
[ObjectCreator.UseCtor]
|
||||
public IngameChromeLogic(World world)
|
||||
{
|
||||
this.world = world;
|
||||
ingameRoot = Ui.Root.Get("INGAME_ROOT");
|
||||
worldRoot = ingameRoot.Get("WORLD_ROOT");
|
||||
menuRoot = ingameRoot.Get("MENU_ROOT");
|
||||
playerRoot = worldRoot.Get("PLAYER_ROOT");
|
||||
|
||||
InitRootWidgets();
|
||||
if (world.LocalPlayer == null)
|
||||
InitObserverWidgets();
|
||||
else
|
||||
InitPlayerWidgets();
|
||||
}
|
||||
|
||||
void InitRootWidgets()
|
||||
{
|
||||
Game.LoadWidget(world, "CHAT_PANEL", worldRoot, new WidgetArgs());
|
||||
|
||||
world.GameOver += () =>
|
||||
{
|
||||
worldRoot.RemoveChildren();
|
||||
menuRoot.RemoveChildren();
|
||||
Game.LoadWidget(world, "LEAVE_MAP_WIDGET", menuRoot, new WidgetArgs());
|
||||
};
|
||||
}
|
||||
|
||||
void InitObserverWidgets()
|
||||
{
|
||||
Game.LoadWidget(world, "OBSERVER_WIDGETS", playerRoot, new WidgetArgs());
|
||||
}
|
||||
|
||||
enum RadarBinState { Closed, BinAnimating, RadarAnimating, Open }
|
||||
void InitPlayerWidgets()
|
||||
{
|
||||
var playerWidgets = Game.LoadWidget(world, "PLAYER_WIDGETS", playerRoot, new WidgetArgs());
|
||||
|
||||
var radarActive = false;
|
||||
var binState = RadarBinState.Closed;
|
||||
var radarBin = playerWidgets.Get<SlidingContainerWidget>("INGAME_RADAR_BIN");
|
||||
radarBin.IsOpen = () => radarActive || binState > RadarBinState.BinAnimating;
|
||||
radarBin.AfterOpen = () => binState = RadarBinState.RadarAnimating;
|
||||
radarBin.AfterClose = () => binState = RadarBinState.Closed;
|
||||
|
||||
var radarMap = radarBin.Get<RadarWidget>("RADAR_MINIMAP");
|
||||
radarMap.IsEnabled = () => radarActive && binState >= RadarBinState.RadarAnimating;
|
||||
radarMap.AfterOpen = () => binState = RadarBinState.Open;
|
||||
radarMap.AfterClose = () => binState = RadarBinState.BinAnimating;
|
||||
|
||||
radarBin.Get<ImageWidget>("RADAR_BIN_BG").GetImageCollection = () => "chrome-" + world.LocalPlayer.Country.Race;
|
||||
|
||||
var powerManager = world.LocalPlayer.PlayerActor.Trait<PowerManager>();
|
||||
var powerBar = radarBin.Get<ResourceBarWidget>("POWERBAR");
|
||||
powerBar.IndicatorCollection = "power-" + world.LocalPlayer.Country.Race;
|
||||
powerBar.GetProvided = () => powerManager.PowerProvided;
|
||||
powerBar.GetUsed = () => powerManager.PowerDrained;
|
||||
powerBar.TooltipFormat = "Power Usage: {0}/{1}";
|
||||
powerBar.GetBarColor = () =>
|
||||
{
|
||||
if (powerManager.PowerState == PowerState.Critical)
|
||||
return Color.Red;
|
||||
if (powerManager.PowerState == PowerState.Low)
|
||||
return Color.Orange;
|
||||
return Color.LimeGreen;
|
||||
};
|
||||
|
||||
var cachedRadarActive = false;
|
||||
var sidebarTicker = playerWidgets.Get<LogicTickerWidget>("SIDEBAR_TICKER");
|
||||
sidebarTicker.OnTick = () =>
|
||||
{
|
||||
// Update radar bin
|
||||
radarActive = world.ActorsWithTrait<ProvidesRadar>()
|
||||
.Any(a => a.Actor.Owner == world.LocalPlayer && a.Trait.IsActive);
|
||||
|
||||
if (radarActive != cachedRadarActive)
|
||||
Sound.PlayNotification(world.Map.Rules, null, "Sounds", radarActive ? "RadarUp" : "RadarDown", null);
|
||||
cachedRadarActive = radarActive;
|
||||
|
||||
// Switch to observer mode after win/loss
|
||||
if (world.ObserveAfterWinOrLose && world.LocalPlayer.WinState != WinState.Undefined)
|
||||
Game.RunAfterTick(() =>
|
||||
{
|
||||
playerRoot.RemoveChildren();
|
||||
InitObserverWidgets();
|
||||
});
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
60
OpenRA.Mods.D2k/Widgets/Logic/SlidingRadarBinLogic.cs
Normal file
60
OpenRA.Mods.D2k/Widgets/Logic/SlidingRadarBinLogic.cs
Normal file
@@ -0,0 +1,60 @@
|
||||
#region Copyright & License Information
|
||||
/*
|
||||
* Copyright 2007-2014 The OpenRA Developers (see AUTHORS)
|
||||
* This file is part of OpenRA, which is free software. It is made
|
||||
* available to you under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation. For more information,
|
||||
* see COPYING.
|
||||
*/
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using OpenRA.Mods.Common.Traits;
|
||||
using OpenRA.Mods.Common.Widgets;
|
||||
using OpenRA.Mods.D2k.Widgets;
|
||||
using OpenRA.Mods.RA;
|
||||
using OpenRA.Mods.RA.Widgets;
|
||||
using OpenRA.Mods.RA.Widgets.Logic;
|
||||
using OpenRA.Traits;
|
||||
using OpenRA.Widgets;
|
||||
|
||||
namespace OpenRA.Mods.D2k.Widgets.Logic
|
||||
{
|
||||
public class SlidingRadarBinLogic
|
||||
{
|
||||
enum RadarBinState { Closed, BinAnimating, RadarAnimating, Open }
|
||||
|
||||
[ObjectCreator.UseCtor]
|
||||
public SlidingRadarBinLogic(Widget widget, World world)
|
||||
{
|
||||
var radarActive = false;
|
||||
var binState = RadarBinState.Closed;
|
||||
var radarBin = widget.Get<SlidingContainerWidget>("INGAME_RADAR_BIN");
|
||||
radarBin.IsOpen = () => radarActive || binState > RadarBinState.BinAnimating;
|
||||
radarBin.AfterOpen = () => binState = RadarBinState.RadarAnimating;
|
||||
radarBin.AfterClose = () => binState = RadarBinState.Closed;
|
||||
|
||||
var radarMap = radarBin.Get<RadarWidget>("RADAR_MINIMAP");
|
||||
radarMap.IsEnabled = () => radarActive && binState >= RadarBinState.RadarAnimating;
|
||||
radarMap.AfterOpen = () => binState = RadarBinState.Open;
|
||||
radarMap.AfterClose = () => binState = RadarBinState.BinAnimating;
|
||||
|
||||
radarBin.Get<ImageWidget>("RADAR_BIN_BG").GetImageCollection = () => "chrome-" + world.LocalPlayer.Country.Race;
|
||||
|
||||
var cachedRadarActive = false;
|
||||
var radarTicker = widget.Get<LogicTickerWidget>("RADAR_TICKER");
|
||||
radarTicker.OnTick = () =>
|
||||
{
|
||||
// Update radar bin
|
||||
radarActive = world.ActorsWithTrait<ProvidesRadar>()
|
||||
.Any(a => a.Actor.Owner == world.LocalPlayer && a.Trait.IsActive);
|
||||
|
||||
if (radarActive != cachedRadarActive)
|
||||
Sound.PlayNotification(world.Map.Rules, null, "Sounds", radarActive ? "RadarUp" : "RadarDown", null);
|
||||
cachedRadarActive = radarActive;
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -84,7 +84,7 @@ namespace OpenRA.Mods.RA.Widgets.Logic
|
||||
var installButton = widget.GetOrNull<ButtonWidget>("INSTALL_BUTTON");
|
||||
if (installButton != null)
|
||||
{
|
||||
installButton.IsDisabled = () => world == null || !world.IsShellmap;
|
||||
installButton.IsDisabled = () => world == null || world.Type != WorldType.Shellmap;
|
||||
var args = new string[] { "Install.Music=true" };
|
||||
installButton.OnClick = () =>
|
||||
{
|
||||
|
||||
@@ -997,8 +997,6 @@ Rules:
|
||||
Loop: true
|
||||
LuaScript:
|
||||
Scripts: shellmap.lua
|
||||
LoadWidgetAtGameStart:
|
||||
Widget: MENU_BACKGROUND
|
||||
LST:
|
||||
Mobile:
|
||||
Speed: 42
|
||||
|
||||
@@ -6,7 +6,7 @@ World:
|
||||
ScreenMap:
|
||||
ActorMap:
|
||||
LoadWidgetAtGameStart:
|
||||
Widget: INGAME_ROOT
|
||||
ShellmapRoot: MENU_BACKGROUND
|
||||
MenuPaletteEffect:
|
||||
MenuEffect: Desaturated
|
||||
CloakPaletteEffect:
|
||||
|
||||
@@ -6,7 +6,7 @@ chrome-atreides: chrome-atreides.png
|
||||
radar: 297,31,210,222
|
||||
tooltip-bg: 0,288,272,136
|
||||
|
||||
power-atreides: chrome-atreides.png
|
||||
sidebar-bits: chrome-atreides.png
|
||||
power-indicator: 187,4,4,7
|
||||
|
||||
palette-atreides: chrome-atreides.png
|
||||
@@ -43,9 +43,6 @@ chrome-harkonnen: chrome-harkonnen.png
|
||||
radar: 297,31,210,222
|
||||
tooltip-bg: 0,288,272,136
|
||||
|
||||
power-harkonnen: chrome-harkonnen.png
|
||||
power-indicator: 187,4,4,7
|
||||
|
||||
palette-harkonnen: chrome-harkonnen.png
|
||||
top: 297,288,201,9
|
||||
dock-top: 498,274,14,23
|
||||
@@ -80,9 +77,6 @@ chrome-ordos: chrome-ordos.png
|
||||
radar: 297,31,210,222
|
||||
tooltip-bg: 0,288,272,136
|
||||
|
||||
power-ordos: chrome-ordos.png
|
||||
power-indicator: 187,4,4,7
|
||||
|
||||
palette-ordos: chrome-ordos.png
|
||||
top: 297,288,201,9
|
||||
dock-top: 498,274,14,23
|
||||
|
||||
@@ -34,12 +34,14 @@ Container@PLAYER_WIDGETS:
|
||||
Font: Bold
|
||||
Key: escape Shift
|
||||
SlidingContainer@INGAME_RADAR_BIN:
|
||||
Logic: SlidingRadarBinLogic
|
||||
X: WINDOW_RIGHT-215
|
||||
Y: 0
|
||||
OpenOffset: 0,29
|
||||
ClosedOffset: 0,-166
|
||||
AnimationLength: 15
|
||||
Children:
|
||||
LogicTicker@RADAR_TICKER:
|
||||
Image@RADAR_BIN_BG:
|
||||
ImageName: radar
|
||||
Radar@RADAR_MINIMAP:
|
||||
@@ -48,6 +50,7 @@ Container@PLAYER_WIDGETS:
|
||||
Width: 192
|
||||
Height: 192
|
||||
ResourceBar@POWERBAR:
|
||||
Logic: IngamePowerBarLogic
|
||||
X: 42
|
||||
Y: 205
|
||||
Width: 138
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Container@INGAME_ROOT:
|
||||
Logic: IngameChromeLogic
|
||||
Logic: LoadIngamePlayerOrObserverUILogic
|
||||
Children:
|
||||
Container@WORLD_ROOT:
|
||||
Children:
|
||||
|
||||
@@ -116,8 +116,6 @@ Smudges:
|
||||
|
||||
Rules:
|
||||
World:
|
||||
LoadWidgetAtGameStart:
|
||||
Widget: MAINMENU
|
||||
-CrateSpawner:
|
||||
-SpawnMPUnits:
|
||||
-MPStartLocations:
|
||||
|
||||
@@ -6,7 +6,6 @@ World:
|
||||
ScreenMap:
|
||||
ActorMap:
|
||||
LoadWidgetAtGameStart:
|
||||
Widget: INGAME_ROOT
|
||||
ScreenShaker:
|
||||
BuildingInfluence:
|
||||
ChooseBuildTabOnSelect:
|
||||
|
||||
@@ -1274,8 +1274,6 @@ Rules:
|
||||
ValuePerUnit: 0
|
||||
LuaScript:
|
||||
Scripts: desert-shellmap.lua
|
||||
LoadWidgetAtGameStart:
|
||||
Widget: MAINMENU
|
||||
-StartGameNotification:
|
||||
OILB:
|
||||
CashTrickler:
|
||||
|
||||
@@ -6,7 +6,6 @@ World:
|
||||
ScreenMap:
|
||||
ActorMap:
|
||||
LoadWidgetAtGameStart:
|
||||
Widget: INGAME_ROOT
|
||||
ScreenShaker:
|
||||
MenuPaletteEffect:
|
||||
WaterPaletteRotation:
|
||||
|
||||
@@ -6,7 +6,7 @@ chrome-gdi: chrome-gdi.png
|
||||
tooltip-bg: 0,288,272,136
|
||||
radar: 297,31,210,222
|
||||
|
||||
power-gdi: chrome-gdi.png
|
||||
sidebar-bits: chrome-gdi.png
|
||||
power-indicator: 187,4,4,7
|
||||
|
||||
palette-gdi: chrome-gdi.png
|
||||
@@ -43,9 +43,6 @@ chrome-nod: chrome-nod.png
|
||||
tooltip-bg: 0,288,272,136
|
||||
radar: 297,31,210,222
|
||||
|
||||
power-nod: chrome-nod.png
|
||||
power-indicator: 187,4,4,7
|
||||
|
||||
palette-nod: chrome-nod.png
|
||||
top: 297,288,201,9
|
||||
dock-top: 498,274,14,23
|
||||
|
||||
@@ -36,12 +36,14 @@ Container@PLAYER_WIDGETS:
|
||||
Font: Bold
|
||||
Key: escape Shift
|
||||
SlidingContainer@INGAME_RADAR_BIN:
|
||||
Logic: SlidingRadarBinLogic
|
||||
X: WINDOW_RIGHT-215
|
||||
Y: 0
|
||||
OpenOffset: 0,29
|
||||
ClosedOffset: 0,-166
|
||||
AnimationLength: 15
|
||||
Children:
|
||||
LogicTicker@RADAR_TICKER:
|
||||
Image@RADAR_BIN_BG:
|
||||
ImageName: radar
|
||||
Radar@RADAR_MINIMAP:
|
||||
@@ -50,6 +52,7 @@ Container@PLAYER_WIDGETS:
|
||||
Width: 192
|
||||
Height: 192
|
||||
ResourceBar@POWERBAR:
|
||||
Logic: IngamePowerBarLogic
|
||||
X: 42
|
||||
Y: 205
|
||||
Width: 138
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Container@INGAME_ROOT:
|
||||
Logic: IngameChromeLogic
|
||||
Logic: LoadIngamePlayerOrObserverUILogic
|
||||
Children:
|
||||
Container@WORLD_ROOT:
|
||||
Children:
|
||||
|
||||
@@ -41,7 +41,6 @@ Rules:
|
||||
-SpawnMPUnits:
|
||||
-MPStartLocations:
|
||||
LoadWidgetAtGameStart:
|
||||
Widget: MAINMENU
|
||||
|
||||
Sequences:
|
||||
|
||||
|
||||
@@ -6,7 +6,6 @@ World:
|
||||
ScreenMap:
|
||||
ActorMap:
|
||||
LoadWidgetAtGameStart:
|
||||
Widget: INGAME_ROOT
|
||||
MenuPaletteEffect:
|
||||
BuildingInfluence:
|
||||
ChooseBuildTabOnSelect:
|
||||
|
||||
Reference in New Issue
Block a user