some small code changes in Playlist/CPlaylist.cs, no new functions

This commit is contained in:
Alexander Eckart committed 2012-06-24 21:37:32 +02:00
1 parent c5fae33c4f
commit d1d2593946
1 file changed
+25 -23
+25 -23
View File
@@ -5,8 +5,9 @@ using System.Text;
using System.Xml; using System.Xml;
using System.Xml.XPath; using System.Xml.XPath;
using Vocaluxe.Lib.Song;
using Vocaluxe.Base; using Vocaluxe.Base;
using Vocaluxe.GameModes;
using Vocaluxe.Lib.Song;
namespace Vocaluxe.Lib.Playlist namespace Vocaluxe.Lib.Playlist
@@ -14,17 +15,17 @@ namespace Vocaluxe.Lib.Playlist
public class CPlaylistSong public class CPlaylistSong
{ {
public int SongID; public int SongID;
public GameModes.EGameMode gm; public EGameMode GameMode;
public CPlaylistSong(int SongID, GameModes.EGameMode gm) public CPlaylistSong(int SongID, EGameMode gm)
{ {
this.SongID = SongID; this.SongID = SongID;
this.gm = gm; this.GameMode = gm;
} }
public CPlaylistSong() public CPlaylistSong()
{ {
gm = GameModes.EGameMode.TR_GAMEMODE_NORMAL; GameMode = EGameMode.TR_GAMEMODE_NORMAL;
} }
} }
@@ -108,21 +109,19 @@ namespace Vocaluxe.Lib.Playlist
writer.WriteStartElement("Songs"); writer.WriteStartElement("Songs");
for (i = 0; i < Songs.Count; i++) for (i = 0; i < Songs.Count; i++)
{ {
CSong[] songs = CSongs.AllSongs; CSong song = CSongs.GetSong(Songs[i].SongID);
CSong song = new CSong(); if (song != null)
for (int s = 0; i <= songs.Length; s++)
{ {
if (songs[s].ID == Songs[i].SongID) writer.WriteStartElement("Song" + (i + 1).ToString());
{ writer.WriteElementString("Artist", song.Artist);
song = songs[s]; writer.WriteElementString("Title", song.Title);
break; writer.WriteElementString("GameMode", Enum.GetName(typeof(EGameMode), Songs[i].GameMode));
} writer.WriteEndElement();
}
else
{
CLog.LogError("Playlist.SavePlaylist(): Can't find Song. This should never happen!");
} }
writer.WriteStartElement("Song" + (i + 1).ToString());
writer.WriteElementString("Artist", song.Artist);
writer.WriteElementString("Title", song.Title);
writer.WriteElementString("GameMode", Enum.GetName(typeof(GameModes.EGameMode), Songs[i].gm));
writer.WriteEndElement();
} }
writer.WriteEndElement(); writer.WriteEndElement();
@@ -169,15 +168,16 @@ namespace Vocaluxe.Lib.Playlist
List<string> songs = CHelper.GetValuesFromXML("Songs", navigator); List<string> songs = CHelper.GetValuesFromXML("Songs", navigator);
string artist = String.Empty; string artist = String.Empty;
string title = String.Empty; string title = String.Empty;
GameModes.EGameMode gm = GameModes.EGameMode.TR_GAMEMODE_NORMAL; EGameMode gm = EGameMode.TR_GAMEMODE_NORMAL;
for (int i = 0; i < songs.Count; i++) for (int i = 0; i < songs.Count; i++)
{ {
CHelper.GetValueFromXML("//root/Songs/" + songs[i] + "/Artist", navigator, ref artist, String.Empty); CHelper.GetValueFromXML("//root/Songs/" + songs[i] + "/Artist", navigator, ref artist, String.Empty);
CHelper.GetValueFromXML("//root/Songs/" + songs[i] + "/Title", navigator, ref title, String.Empty); CHelper.GetValueFromXML("//root/Songs/" + songs[i] + "/Title", navigator, ref title, String.Empty);
CHelper.TryGetEnumValueFromXML<GameModes.EGameMode>("//root/Songs/" + songs[i] + "/GameMode", navigator, ref gm); CHelper.TryGetEnumValueFromXML<EGameMode>("//root/Songs/" + songs[i] + "/GameMode", navigator, ref gm);
CPlaylistSong song = new CPlaylistSong(); CPlaylistSong song = new CPlaylistSong();
song.SongID = -1;
CSong[] AllSongs = CSongs.AllSongs; CSong[] AllSongs = CSongs.AllSongs;
for (int s = 0; s < AllSongs.Length; s++) for (int s = 0; s < AllSongs.Length; s++)
@@ -189,9 +189,11 @@ namespace Vocaluxe.Lib.Playlist
} }
} }
song.gm = gm; if (song.SongID != -1)
{
Songs.Add(song); song.GameMode = gm;
Songs.Add(song);
}
} }
} }
else else