From 99b8c765c7d61eba28c40b840c383f5da8842969 Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Fri, 8 Jul 2011 21:25:43 +1200 Subject: [PATCH] fixed #996 -- Rules.InstalledMusic --- OpenRA.Game/GameRules/Rules.cs | 2 ++ OpenRA.Mods.RA/Widgets/Logic/MusicPlayerLogic.cs | 15 ++++----------- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/OpenRA.Game/GameRules/Rules.cs b/OpenRA.Game/GameRules/Rules.cs index 4fca88b6b2..cf144a932b 100755 --- a/OpenRA.Game/GameRules/Rules.cs +++ b/OpenRA.Game/GameRules/Rules.cs @@ -48,5 +48,7 @@ namespace OpenRA var yy = y.ToDictionary( x => x.Key, x => x.Value ); return y.ToDictionary(kv => kv.Key.ToLowerInvariant(), kv => f(kv, yy)); } + + public static IEnumerable> InstalledMusic { get { return Music.Where( m => m.Value.Exists ); } } } } diff --git a/OpenRA.Mods.RA/Widgets/Logic/MusicPlayerLogic.cs b/OpenRA.Mods.RA/Widgets/Logic/MusicPlayerLogic.cs index 61366c8415..8a0ecd8f9f 100644 --- a/OpenRA.Mods.RA/Widgets/Logic/MusicPlayerLogic.cs +++ b/OpenRA.Mods.RA/Widgets/Logic/MusicPlayerLogic.cs @@ -88,14 +88,14 @@ namespace OpenRA.Mods.RA.Widgets.Logic var ml = bg.GetWidget("MUSIC_LIST"); var itemTemplate = ml.GetWidget("MUSIC_TEMPLATE"); - if (!Rules.Music.Where(m => m.Value.Exists).Any()) + if (!Rules.InstalledMusic.Any()) { itemTemplate.IsVisible = () => true; itemTemplate.GetWidget("TITLE").GetText = () => "No Music Installed"; itemTemplate.GetWidget("TITLE").Align = LabelWidget.TextAlign.Center; } - foreach (var kv in Rules.Music.Where(m => m.Value.Exists)) + foreach (var kv in Rules.InstalledMusic) { var song = kv.Key; if (CurrentSong == null) @@ -122,14 +122,7 @@ namespace OpenRA.Mods.RA.Widgets.Logic .Skip(1).FirstOrDefault() ?? songs.FirstOrDefault(); } - string GetNextSong() - { - return ChooseSong( Rules.Music.Where( a => a.Value.Exists ).Select( a => a.Key ) ); - } - - string GetPrevSong() - { - return ChooseSong( Rules.Music.Where( a => a.Value.Exists ).Select( a => a.Key ).Reverse() ); - } + string GetNextSong() { return ChooseSong( Rules.InstalledMusic.Select( a => a.Key ) ); } + string GetPrevSong() { return ChooseSong( Rules.InstalledMusic.Select( a => a.Key ).Reverse() ); } } }