diff --git a/Vocaluxe/GameModes/CGameMode.cs b/Vocaluxe/GameModes/CGameMode.cs index 2560e98d..52355046 100644 --- a/Vocaluxe/GameModes/CGameMode.cs +++ b/Vocaluxe/GameModes/CGameMode.cs @@ -108,6 +108,7 @@ namespace Vocaluxe.GameModes protected List _SongQueque; protected int _CurrentSong; protected CPoints _Points; + private CSong CopiedSong; #region Implementation public virtual void Init() @@ -228,6 +229,7 @@ namespace Vocaluxe.GameModes _SongQueque[_CurrentSong].GameMode == EGameMode.TR_GAMEMODE_MEDLEY, _SongQueque[_CurrentSong].GameMode == EGameMode.TR_GAMEMODE_DUET, _SongQueque[_CurrentSong].GameMode == EGameMode.TR_GAMEMODE_SHORTSONG); + CSongs.AllSongs[_CurrentSong] = CopiedSong; } _CurrentSong++; } @@ -247,8 +249,8 @@ namespace Vocaluxe.GameModes { if (_CurrentSong >= 0 && _CurrentSong < _SongQueque.Count) { - CSong song = (CSong)CSongs.GetSong(_SongQueque[_CurrentSong].SongID).Clone(); - song.Notes = (CNotes)CSongs.GetSong(_SongQueque[_CurrentSong].SongID).Notes.Clone(); + CSong song = CSongs.GetSong(_SongQueque[_CurrentSong].SongID); + CopiedSong = (CSong)song.Clone(); switch (GetCurrentGameMode()) { diff --git a/Vocaluxe/Lib/Song/CNotes.cs b/Vocaluxe/Lib/Song/CNotes.cs index ad33380a..d6203ca0 100644 --- a/Vocaluxe/Lib/Song/CNotes.cs +++ b/Vocaluxe/Lib/Song/CNotes.cs @@ -6,7 +6,7 @@ using Vocaluxe.Base; namespace Vocaluxe.Lib.Song { - class CNotes : ICloneable + class CNotes { private List _Lines = new List(); @@ -79,11 +79,6 @@ namespace Vocaluxe.Lib.Song lines.SetMedley(StartBeat, EndBeat); } } - - public object Clone() - { - return base.MemberwiseClone(); - } } public enum ENoteType