Add checks for missing music tracks
This commit is contained in:
@@ -61,16 +61,8 @@ namespace OpenRA.Mods.Common.Scripting
|
|||||||
if (!playlist.IsMusicAvailable)
|
if (!playlist.IsMusicAvailable)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
MusicInfo musicInfo;
|
var musicInfo = !string.IsNullOrEmpty(track) ? GetMusicTrack(track)
|
||||||
if (string.IsNullOrEmpty(track))
|
: playlist.GetNextSong();
|
||||||
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (func != null)
|
if (func != null)
|
||||||
{
|
{
|
||||||
@@ -103,7 +95,17 @@ namespace OpenRA.Mods.Common.Scripting
|
|||||||
if (!playlist.IsMusicAvailable)
|
if (!playlist.IsMusicAvailable)
|
||||||
return;
|
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.")]
|
[Desc("Stop the current song.")]
|
||||||
|
|||||||
Reference in New Issue
Block a user