Merge pull request #6182 from obrakmann/fix6172
Fix observer widgets not showing up when a player loses
This commit is contained in:
@@ -105,7 +105,7 @@ namespace OpenRA.Mods.D2k.Widgets.Logic
|
|||||||
cachedRadarActive = radarActive;
|
cachedRadarActive = radarActive;
|
||||||
|
|
||||||
// Switch to observer mode after win/loss
|
// Switch to observer mode after win/loss
|
||||||
if (world.LocalPlayer.WinState != WinState.Undefined)
|
if (world.ObserveAfterWinOrLose && world.LocalPlayer.WinState != WinState.Undefined)
|
||||||
Game.RunAfterTick(() =>
|
Game.RunAfterTick(() =>
|
||||||
{
|
{
|
||||||
playerRoot.RemoveChildren();
|
playerRoot.RemoveChildren();
|
||||||
|
|||||||
@@ -24,7 +24,22 @@ namespace OpenRA.Mods.RA.Widgets.Logic
|
|||||||
if (world.LocalPlayer == null)
|
if (world.LocalPlayer == null)
|
||||||
Game.LoadWidget(world, "OBSERVER_WIDGETS", playerRoot, new WidgetArgs());
|
Game.LoadWidget(world, "OBSERVER_WIDGETS", playerRoot, new WidgetArgs());
|
||||||
else
|
else
|
||||||
Game.LoadWidget(world, "PLAYER_WIDGETS", playerRoot, new WidgetArgs());
|
{
|
||||||
|
var playerWidgets = Game.LoadWidget(world, "PLAYER_WIDGETS", playerRoot, new WidgetArgs());
|
||||||
|
var sidebarTicker = playerWidgets.Get<LogicTickerWidget>("SIDEBAR_TICKER");
|
||||||
|
|
||||||
|
sidebarTicker.OnTick = () =>
|
||||||
|
{
|
||||||
|
// Switch to observer mode after win/loss
|
||||||
|
if (world.ObserveAfterWinOrLose && world.LocalPlayer.WinState != WinState.Undefined)
|
||||||
|
Game.RunAfterTick(() =>
|
||||||
|
{
|
||||||
|
playerRoot.RemoveChildren();
|
||||||
|
Game.LoadWidget(world, "OBSERVER_WIDGETS", playerRoot, new WidgetArgs());
|
||||||
|
});
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
Game.LoadWidget(world, "CHAT_PANEL", ingameRoot, new WidgetArgs());
|
Game.LoadWidget(world, "CHAT_PANEL", ingameRoot, new WidgetArgs());
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user