Restore radar enable/disable sounds.

This commit is contained in:
Paul Chote
2013-07-08 21:06:30 +12:00
parent 948eaa03c5
commit ec15aa5ee4
2 changed files with 11 additions and 1 deletions

View File

@@ -102,7 +102,8 @@ namespace OpenRA.Mods.Cnc.Widgets.Logic
playerWidgets.Get<ButtonWidget>("OPTIONS_BUTTON").OnClick = OptionsClicked; playerWidgets.Get<ButtonWidget>("OPTIONS_BUTTON").OnClick = OptionsClicked;
bool radarEnabled = false; var radarEnabled = false;
var cachedRadarEnabled = false;
sidebarRoot.Get<RadarWidget>("RADAR_MINIMAP").IsEnabled = () => radarEnabled; sidebarRoot.Get<RadarWidget>("RADAR_MINIMAP").IsEnabled = () => radarEnabled;
var sidebarTicker = playerWidgets.Get<LogicTickerWidget>("SIDEBAR_TICKER"); var sidebarTicker = playerWidgets.Get<LogicTickerWidget>("SIDEBAR_TICKER");
@@ -112,6 +113,10 @@ namespace OpenRA.Mods.Cnc.Widgets.Logic
radarEnabled = world.ActorsWithTrait<ProvidesRadar>() radarEnabled = world.ActorsWithTrait<ProvidesRadar>()
.Any(a => a.Actor.Owner == world.LocalPlayer && a.Trait.IsActive); .Any(a => a.Actor.Owner == world.LocalPlayer && a.Trait.IsActive);
if (radarEnabled != cachedRadarEnabled)
Sound.PlayNotification(null, "Sounds", (radarEnabled ? "RadarUp" : "RadarDown"), null);
cachedRadarEnabled = radarEnabled;
// Switch to observer mode after win/loss // Switch to observer mode after win/loss
if (world.LocalPlayer.WinState != WinState.Undefined) if (world.LocalPlayer.WinState != WinState.Undefined)
Game.RunAfterTick(() => Game.RunAfterTick(() =>

View File

@@ -135,6 +135,7 @@ namespace OpenRA.Mods.RA.Widgets.Logic
return Color.LimeGreen; return Color.LimeGreen;
}; };
var cachedRadarActive = false;
var sidebarTicker = playerWidgets.Get<LogicTickerWidget>("SIDEBAR_TICKER"); var sidebarTicker = playerWidgets.Get<LogicTickerWidget>("SIDEBAR_TICKER");
sidebarTicker.OnTick = () => sidebarTicker.OnTick = () =>
{ {
@@ -142,6 +143,10 @@ namespace OpenRA.Mods.RA.Widgets.Logic
radarActive = world.ActorsWithTrait<ProvidesRadar>() radarActive = world.ActorsWithTrait<ProvidesRadar>()
.Any(a => a.Actor.Owner == world.LocalPlayer && a.Trait.IsActive); .Any(a => a.Actor.Owner == world.LocalPlayer && a.Trait.IsActive);
if (radarActive != cachedRadarActive)
Sound.PlayNotification(null, "Sounds", (radarActive ? "RadarUp" : "RadarDown"), null);
cachedRadarActive = radarActive;
// Switch to observer mode after win/loss // Switch to observer mode after win/loss
if (world.LocalPlayer.WinState != WinState.Undefined) if (world.LocalPlayer.WinState != WinState.Undefined)
Game.RunAfterTick(() => Game.RunAfterTick(() =>