From ce95ff074a245467c14e34bd8a6c0914568fd854 Mon Sep 17 00:00:00 2001 From: abcdefg30 Date: Sun, 18 Oct 2015 12:26:37 +0200 Subject: [PATCH] Add checks for missing music tracks --- .../Scripting/Global/MediaGlobal.cs | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/OpenRA.Mods.Common/Scripting/Global/MediaGlobal.cs b/OpenRA.Mods.Common/Scripting/Global/MediaGlobal.cs index 38729d875e..496e2fcffc 100644 --- a/OpenRA.Mods.Common/Scripting/Global/MediaGlobal.cs +++ b/OpenRA.Mods.Common/Scripting/Global/MediaGlobal.cs @@ -61,16 +61,8 @@ namespace OpenRA.Mods.Common.Scripting if (!playlist.IsMusicAvailable) return; - MusicInfo musicInfo; - if (string.IsNullOrEmpty(track)) - musicInfo = playlist.GetNextSong(); - else if (world.Map.Rules.Music.ContainsKey(track)) - musicInfo = world.Map.Rules.Music[track]; - else - { - Log.Write("lua", "Missing music track: " + track); - return; - } + var musicInfo = !string.IsNullOrEmpty(track) ? GetMusicTrack(track) + : playlist.GetNextSong(); if (func != null) { @@ -103,7 +95,17 @@ namespace OpenRA.Mods.Common.Scripting if (!playlist.IsMusicAvailable) return; - playlist.SetBackgroundMusic(string.IsNullOrEmpty(track) ? null : world.Map.Rules.Music[track]); + playlist.SetBackgroundMusic(string.IsNullOrEmpty(track) ? null : GetMusicTrack(track)); + } + + MusicInfo GetMusicTrack(string track) + { + var music = world.Map.Rules.Music; + if (music.ContainsKey(track)) + return music[track]; + + Log.Write("lua", "Missing music track: " + track); + return null; } [Desc("Stop the current song.")]