added possibility to add individual game modes for each song
This commit is contained in:
1 parent
e85a3426a5
commit
6afc0f64bb
9 files changed
+133
-127
No files matched your search
+8
-21
@@ -108,38 +108,25 @@ namespace Vocaluxe.Base
|
|||||||
CConfig.UsePlayers();
|
CConfig.UsePlayers();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void SetGameMode(EGameMode Mode)
|
public static void EnterNomalGame()
|
||||||
{
|
{
|
||||||
switch (Mode)
|
_GameMode = new CGameModeNormal();
|
||||||
{
|
|
||||||
case EGameMode.Normal:
|
|
||||||
_GameMode = new CGameModeNormal();
|
|
||||||
break;
|
|
||||||
case EGameMode.Medley:
|
|
||||||
_GameMode = new CGameModeMedley();
|
|
||||||
break;
|
|
||||||
case EGameMode.Duet:
|
|
||||||
_GameMode = new CGameModeDuet();
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
_GameMode.Init();
|
_GameMode.Init();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static EGameMode GameMode
|
public static EGameMode GameMode
|
||||||
{
|
{
|
||||||
get { return _GameMode.GetGameMode(); }
|
get { return _GameMode.GetCurrentGameMode(); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool AddVisibleSong(int VisibleIndex)
|
public static bool AddVisibleSong(int VisibleIndex, EGameMode GameMode)
|
||||||
{
|
{
|
||||||
return _GameMode.AddVisibleSong(VisibleIndex);
|
return _GameMode.AddVisibleSong(VisibleIndex, GameMode);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool AddSong(int AbsoluteIndex)
|
public static bool AddSong(int AbsoluteIndex, EGameMode GameMode)
|
||||||
{
|
{
|
||||||
return _GameMode.AddSong(AbsoluteIndex);
|
return _GameMode.AddSong(AbsoluteIndex, GameMode);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool RemoveVisibleSong(int VisibleIndex)
|
public static bool RemoveVisibleSong(int VisibleIndex)
|
||||||
@@ -179,7 +166,7 @@ namespace Vocaluxe.Base
|
|||||||
|
|
||||||
public static int RoundNr
|
public static int RoundNr
|
||||||
{
|
{
|
||||||
get { return _GameMode.GetActualRoundNr(); }
|
get { return _GameMode.GetCurrentRoundNr(); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public static CSong GetSong()
|
public static CSong GetSong()
|
||||||
|
|||||||
@@ -7,6 +7,18 @@ using Vocaluxe.Lib.Song;
|
|||||||
|
|
||||||
namespace Vocaluxe.GameModes
|
namespace Vocaluxe.GameModes
|
||||||
{
|
{
|
||||||
|
struct SongQueque
|
||||||
|
{
|
||||||
|
public int SongID;
|
||||||
|
public EGameMode GameMode;
|
||||||
|
|
||||||
|
public SongQueque(int songID, EGameMode gameMode)
|
||||||
|
{
|
||||||
|
SongID = songID;
|
||||||
|
GameMode = gameMode;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
class CPoints
|
class CPoints
|
||||||
{
|
{
|
||||||
private SPlayer[,] _Rounds;
|
private SPlayer[,] _Rounds;
|
||||||
@@ -90,47 +102,50 @@ namespace Vocaluxe.GameModes
|
|||||||
abstract class CGameMode : IGameMode
|
abstract class CGameMode : IGameMode
|
||||||
{
|
{
|
||||||
protected bool _Initialized = false;
|
protected bool _Initialized = false;
|
||||||
protected EGameMode _GameMode;
|
protected List<SongQueque> _SongQueque;
|
||||||
protected List<int> _SongIDs;
|
protected int _CurrentSong;
|
||||||
protected int _ActualSong;
|
|
||||||
protected CPoints _Points;
|
protected CPoints _Points;
|
||||||
|
|
||||||
#region Implementation
|
#region Implementation
|
||||||
public virtual void Init()
|
public virtual void Init()
|
||||||
{
|
{
|
||||||
_SongIDs = new List<int>();
|
_SongQueque = new List<SongQueque>();
|
||||||
Reset();
|
Reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual EGameMode GetGameMode()
|
public virtual EGameMode GetCurrentGameMode()
|
||||||
{
|
{
|
||||||
return _GameMode;
|
if (_CurrentSong >= 0 && _CurrentSong < _SongQueque.Count)
|
||||||
|
{
|
||||||
|
return _SongQueque[_CurrentSong].GameMode;
|
||||||
|
}
|
||||||
|
return EGameMode.Normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual bool AddVisibleSong(int VisibleIndex)
|
public virtual bool AddVisibleSong(int VisibleIndex, EGameMode GameMode)
|
||||||
{
|
{
|
||||||
if (CSongs.VisibleSongs.Length > VisibleIndex)
|
if (CSongs.VisibleSongs.Length > VisibleIndex)
|
||||||
{
|
{
|
||||||
//int ID = CSongs.VisibleSongs[VisibleIndex].ID;
|
int SongID = CSongs.VisibleSongs[VisibleIndex].ID;
|
||||||
//if (!_SongIDs.Exists(delegate(int i) { return (i == ID); }))
|
if (GameMode == EGameMode.Duet && !CSongs.GetSong(SongID).IsDuet)
|
||||||
//{
|
return false;
|
||||||
_SongIDs.Add(CSongs.VisibleSongs[VisibleIndex].ID);
|
|
||||||
return true;
|
_SongQueque.Add(new SongQueque(SongID, GameMode));
|
||||||
//}
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual bool AddSong(int AbsoluteIndex)
|
public virtual bool AddSong(int AbsoluteIndex, EGameMode GameMode)
|
||||||
{
|
{
|
||||||
if (CSongs.AllSongs.Length > AbsoluteIndex)
|
if (CSongs.AllSongs.Length > AbsoluteIndex)
|
||||||
{
|
{
|
||||||
//int ID = CSongs.AllSongs[AbsoluteIndex].ID;
|
int SongID = CSongs.AllSongs[AbsoluteIndex].ID;
|
||||||
//if (!_SongIDs.Exists(delegate(int i) { return (i == ID); }))
|
if (GameMode == EGameMode.Duet && !CSongs.GetSong(SongID).IsDuet)
|
||||||
//{
|
return false;
|
||||||
_SongIDs.Add(CSongs.AllSongs[AbsoluteIndex].ID);
|
|
||||||
|
_SongQueque.Add(new SongQueque(SongID, GameMode));
|
||||||
return true;
|
return true;
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -139,7 +154,22 @@ namespace Vocaluxe.GameModes
|
|||||||
{
|
{
|
||||||
if (CSongs.VisibleSongs.Length > VisibleIndex)
|
if (CSongs.VisibleSongs.Length > VisibleIndex)
|
||||||
{
|
{
|
||||||
return _SongIDs.Remove(CSongs.VisibleSongs[VisibleIndex].ID);
|
int index = -1;
|
||||||
|
int SongID = CSongs.VisibleSongs[VisibleIndex].ID;
|
||||||
|
for (int i = 0; i < _SongQueque.Count; i++)
|
||||||
|
{
|
||||||
|
if (_SongQueque[i].SongID == SongID)
|
||||||
|
{
|
||||||
|
index = i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (index == -1)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
_SongQueque.RemoveAt(index);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -148,66 +178,86 @@ namespace Vocaluxe.GameModes
|
|||||||
{
|
{
|
||||||
if (CSongs.AllSongs.Length > AbsoluteIndex)
|
if (CSongs.AllSongs.Length > AbsoluteIndex)
|
||||||
{
|
{
|
||||||
return _SongIDs.Remove(CSongs.AllSongs[AbsoluteIndex].ID);
|
int index = -1;
|
||||||
|
int SongID = CSongs.AllSongs[AbsoluteIndex].ID;
|
||||||
|
for (int i = 0; i < _SongQueque.Count; i++)
|
||||||
|
{
|
||||||
|
if (_SongQueque[i].SongID == SongID)
|
||||||
|
{
|
||||||
|
index = i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (index == -1)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
_SongQueque.RemoveAt(index);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void ClearSongs()
|
public virtual void ClearSongs()
|
||||||
{
|
{
|
||||||
_SongIDs.Clear();
|
_SongQueque.Clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void Reset()
|
public virtual void Reset()
|
||||||
{
|
{
|
||||||
_ActualSong = -1;
|
_CurrentSong = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void Start(SPlayer[] Player)
|
public virtual void Start(SPlayer[] Player)
|
||||||
{
|
{
|
||||||
_Points = new CPoints(_SongIDs.Count, Player);
|
_Points = new CPoints(_SongQueque.Count, Player);
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void NextRound(SPlayer[] Player)
|
public virtual void NextRound(SPlayer[] Player)
|
||||||
{
|
{
|
||||||
if (_ActualSong < _SongIDs.Count && _SongIDs.Count > 0)
|
if (_CurrentSong < _SongQueque.Count && _SongQueque.Count > 0)
|
||||||
{
|
{
|
||||||
if (_ActualSong > -1)
|
if (_CurrentSong > -1)
|
||||||
{
|
{
|
||||||
_Points.SetPoints(_ActualSong, _SongIDs[_ActualSong], Player, _GameMode == EGameMode.Medley, _GameMode == EGameMode.Duet);
|
_Points.SetPoints(
|
||||||
|
_CurrentSong,
|
||||||
|
_SongQueque[_CurrentSong].SongID,
|
||||||
|
Player,
|
||||||
|
_SongQueque[_CurrentSong].GameMode == EGameMode.Medley,
|
||||||
|
_SongQueque[_CurrentSong].GameMode == EGameMode.Duet);
|
||||||
}
|
}
|
||||||
_ActualSong++;
|
_CurrentSong++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual bool IsFinished()
|
public virtual bool IsFinished()
|
||||||
{
|
{
|
||||||
return (_ActualSong == _SongIDs.Count || _SongIDs.Count == 0);
|
return (_CurrentSong == _SongQueque.Count || _SongQueque.Count == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual int GetActualRoundNr()
|
public virtual int GetCurrentRoundNr()
|
||||||
{
|
{
|
||||||
return _ActualSong + 1;
|
return _CurrentSong + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual CSong GetSong()
|
public virtual CSong GetSong()
|
||||||
{
|
{
|
||||||
if (_ActualSong >= 0 && _ActualSong < _SongIDs.Count)
|
if (_CurrentSong >= 0 && _CurrentSong < _SongQueque.Count)
|
||||||
{
|
{
|
||||||
return CSongs.GetSong(_SongIDs[_ActualSong]);
|
return CSongs.GetSong(_SongQueque[_CurrentSong].SongID);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual int GetNumSongs()
|
public virtual int GetNumSongs()
|
||||||
{
|
{
|
||||||
return _SongIDs.Count;
|
return _SongQueque.Count;
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual CSong GetSong(int Num)
|
public virtual CSong GetSong(int Num)
|
||||||
{
|
{
|
||||||
if (Num - 1 < _SongIDs.Count)
|
if (Num - 1 < _SongQueque.Count)
|
||||||
return CSongs.GetSong(_SongIDs[Num - 1]);
|
return CSongs.GetSong(_SongQueque[Num - 1].SongID);
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,17 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
|
|
||||||
namespace Vocaluxe.GameModes
|
|
||||||
{
|
|
||||||
class CGameModeDuet : CGameMode
|
|
||||||
{
|
|
||||||
public override void Init()
|
|
||||||
{
|
|
||||||
base.Init();
|
|
||||||
|
|
||||||
_GameMode = EGameMode.Duet;
|
|
||||||
_Initialized = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
|
|
||||||
namespace Vocaluxe.GameModes
|
|
||||||
{
|
|
||||||
class CGameModeMedley : CGameMode
|
|
||||||
{
|
|
||||||
public override void Init()
|
|
||||||
{
|
|
||||||
base.Init();
|
|
||||||
|
|
||||||
_GameMode = EGameMode.Medley;
|
|
||||||
_Initialized = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -4,13 +4,13 @@ using System.Text;
|
|||||||
|
|
||||||
namespace Vocaluxe.GameModes
|
namespace Vocaluxe.GameModes
|
||||||
{
|
{
|
||||||
|
// Nomal singing
|
||||||
class CGameModeNormal : CGameMode
|
class CGameModeNormal : CGameMode
|
||||||
{
|
{
|
||||||
public override void Init()
|
public override void Init()
|
||||||
{
|
{
|
||||||
base.Init();
|
base.Init();
|
||||||
|
|
||||||
_GameMode = EGameMode.Normal;
|
|
||||||
_Initialized = true;
|
_Initialized = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,10 +18,10 @@ namespace Vocaluxe.GameModes
|
|||||||
{
|
{
|
||||||
void Init();
|
void Init();
|
||||||
|
|
||||||
EGameMode GetGameMode();
|
EGameMode GetCurrentGameMode();
|
||||||
|
|
||||||
bool AddVisibleSong(int VisibleIndex);
|
bool AddVisibleSong(int VisibleIndex, EGameMode GameMode);
|
||||||
bool AddSong(int AbsoluteIndex);
|
bool AddSong(int AbsoluteIndex, EGameMode GameMode);
|
||||||
bool RemoveVisibleSong(int VisibleIndex);
|
bool RemoveVisibleSong(int VisibleIndex);
|
||||||
bool RemoveSong(int AbsoluteIndex);
|
bool RemoveSong(int AbsoluteIndex);
|
||||||
void ClearSongs();
|
void ClearSongs();
|
||||||
@@ -30,11 +30,12 @@ namespace Vocaluxe.GameModes
|
|||||||
void Start(SPlayer[] Player);
|
void Start(SPlayer[] Player);
|
||||||
void NextRound(SPlayer[] Player);
|
void NextRound(SPlayer[] Player);
|
||||||
bool IsFinished();
|
bool IsFinished();
|
||||||
int GetActualRoundNr();
|
int GetCurrentRoundNr();
|
||||||
CSong GetSong();
|
|
||||||
CPoints GetPoints();
|
CPoints GetPoints();
|
||||||
|
|
||||||
int GetNumSongs();
|
int GetNumSongs();
|
||||||
|
CSong GetSong();
|
||||||
CSong GetSong(int Num);
|
CSong GetSong(int Num);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -5,6 +5,7 @@ using System.Text;
|
|||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
using Vocaluxe.Base;
|
using Vocaluxe.Base;
|
||||||
|
using Vocaluxe.GameModes;
|
||||||
using Vocaluxe.Lib.Draw;
|
using Vocaluxe.Lib.Draw;
|
||||||
using Vocaluxe.Menu;
|
using Vocaluxe.Menu;
|
||||||
using Vocaluxe.Lib.Song;
|
using Vocaluxe.Lib.Song;
|
||||||
@@ -213,14 +214,14 @@ namespace Vocaluxe.Screens
|
|||||||
{
|
{
|
||||||
if (SongNr >= 0 && CSongs.SongsLoaded)
|
if (SongNr >= 0 && CSongs.SongsLoaded)
|
||||||
{
|
{
|
||||||
if (Duet)
|
|
||||||
CGame.SetGameMode(GameModes.EGameMode.Duet);
|
|
||||||
else
|
|
||||||
CGame.SetGameMode(GameModes.EGameMode.Normal);
|
|
||||||
|
|
||||||
CGame.Reset();
|
CGame.Reset();
|
||||||
CGame.ClearSongs();
|
CGame.ClearSongs();
|
||||||
CGame.AddSong(SongNr);
|
|
||||||
|
EGameMode gm = EGameMode.Normal;
|
||||||
|
if (CSongs.VisibleSongs[SongNr].IsDuet)
|
||||||
|
gm = EGameMode.Duet;
|
||||||
|
|
||||||
|
CGame.AddSong(SongNr, gm);
|
||||||
|
|
||||||
CGraphics.FadeTo(EScreens.ScreenNames);
|
CGraphics.FadeTo(EScreens.ScreenNames);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ using System.Text;
|
|||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
using Vocaluxe.Base;
|
using Vocaluxe.Base;
|
||||||
|
using Vocaluxe.GameModes;
|
||||||
using Vocaluxe.Lib.Draw;
|
using Vocaluxe.Lib.Draw;
|
||||||
using Vocaluxe.Menu;
|
using Vocaluxe.Menu;
|
||||||
using Vocaluxe.Menu.SongMenu;
|
using Vocaluxe.Menu.SongMenu;
|
||||||
@@ -174,7 +175,7 @@ namespace Vocaluxe.Screens
|
|||||||
public override void OnShow()
|
public override void OnShow()
|
||||||
{
|
{
|
||||||
base.OnShow();
|
base.OnShow();
|
||||||
|
CGame.EnterNomalGame();
|
||||||
SongMenus[htSongMenus(SongMenu)].OnShow();
|
SongMenus[htSongMenus(SongMenu)].OnShow();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -237,15 +238,14 @@ namespace Vocaluxe.Screens
|
|||||||
{
|
{
|
||||||
if ((CSongs.Category >= 0) && (SongNr >= 0))
|
if ((CSongs.Category >= 0) && (SongNr >= 0))
|
||||||
{
|
{
|
||||||
if (CSongs.VisibleSongs[SongNr].IsDuet)
|
|
||||||
CGame.SetGameMode(GameModes.EGameMode.Duet);
|
|
||||||
else
|
|
||||||
CGame.SetGameMode(GameModes.EGameMode.Normal);
|
|
||||||
|
|
||||||
CGame.Reset();
|
CGame.Reset();
|
||||||
CGame.ClearSongs();
|
CGame.ClearSongs();
|
||||||
CGame.AddVisibleSong(SongNr);
|
|
||||||
//CGame.AddSong(SongNr+1);
|
EGameMode gm = EGameMode.Normal;
|
||||||
|
if (CSongs.VisibleSongs[SongNr].IsDuet)
|
||||||
|
gm = EGameMode.Duet;
|
||||||
|
|
||||||
|
CGame.AddVisibleSong(SongNr, gm);
|
||||||
|
|
||||||
CGraphics.FadeTo(EScreens.ScreenNames);
|
CGraphics.FadeTo(EScreens.ScreenNames);
|
||||||
}
|
}
|
||||||
@@ -255,8 +255,7 @@ namespace Vocaluxe.Screens
|
|||||||
{
|
{
|
||||||
CGame.Reset();
|
CGame.Reset();
|
||||||
CGame.ClearSongs();
|
CGame.ClearSongs();
|
||||||
CGame.SetGameMode(GameModes.EGameMode.Normal);
|
|
||||||
|
|
||||||
List<int> IDs = new List<int>();
|
List<int> IDs = new List<int>();
|
||||||
for (int i = 0; i < CSongs.AllSongs.Length; i++)
|
for (int i = 0; i < CSongs.AllSongs.Length; i++)
|
||||||
{
|
{
|
||||||
@@ -267,10 +266,11 @@ namespace Vocaluxe.Screens
|
|||||||
{
|
{
|
||||||
int SongNr = IDs[CGame.Rand.Next(IDs.Count)];
|
int SongNr = IDs[CGame.Rand.Next(IDs.Count)];
|
||||||
|
|
||||||
if (!CSongs.AllSongs[SongNr].IsDuet)
|
EGameMode gm = EGameMode.Normal;
|
||||||
{
|
if (CSongs.VisibleSongs[SongNr].IsDuet)
|
||||||
CGame.AddSong(SongNr);
|
gm = EGameMode.Duet;
|
||||||
}
|
CGame.AddSong(SongNr, gm);
|
||||||
|
|
||||||
IDs.Remove(SongNr);
|
IDs.Remove(SongNr);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -282,8 +282,7 @@ namespace Vocaluxe.Screens
|
|||||||
{
|
{
|
||||||
CGame.Reset();
|
CGame.Reset();
|
||||||
CGame.ClearSongs();
|
CGame.ClearSongs();
|
||||||
CGame.SetGameMode(GameModes.EGameMode.Normal);
|
|
||||||
|
|
||||||
List<int> IDs = new List<int>();
|
List<int> IDs = new List<int>();
|
||||||
for (int i = 0; i < CSongs.VisibleSongs.Length; i++)
|
for (int i = 0; i < CSongs.VisibleSongs.Length; i++)
|
||||||
{
|
{
|
||||||
@@ -294,10 +293,12 @@ namespace Vocaluxe.Screens
|
|||||||
{
|
{
|
||||||
int SongNr = IDs[CGame.Rand.Next(IDs.Count)];
|
int SongNr = IDs[CGame.Rand.Next(IDs.Count)];
|
||||||
|
|
||||||
if (!CSongs.AllSongs[SongNr].IsDuet)
|
EGameMode gm = EGameMode.Normal;
|
||||||
{
|
if (CSongs.VisibleSongs[SongNr].IsDuet)
|
||||||
CGame.AddSong(SongNr);
|
gm = EGameMode.Duet;
|
||||||
}
|
|
||||||
|
CGame.AddSong(SongNr, gm);
|
||||||
|
|
||||||
IDs.Remove(SongNr);
|
IDs.Remove(SongNr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -132,9 +132,9 @@
|
|||||||
<Compile Include="Base\CTheme.cs" />
|
<Compile Include="Base\CTheme.cs" />
|
||||||
<Compile Include="Base\CVideo.cs" />
|
<Compile Include="Base\CVideo.cs" />
|
||||||
<Compile Include="GameModes\CGameMode.cs" />
|
<Compile Include="GameModes\CGameMode.cs" />
|
||||||
<Compile Include="GameModes\CGameModeDuet.cs" />
|
<Compile Include="GameModes\CGameModeNormal.cs">
|
||||||
<Compile Include="GameModes\CGameModeMedley.cs" />
|
<SubType>Code</SubType>
|
||||||
<Compile Include="GameModes\CGameModeNormal.cs" />
|
</Compile>
|
||||||
<Compile Include="GameModes\IGameMode.cs" />
|
<Compile Include="GameModes\IGameMode.cs" />
|
||||||
<Compile Include="Lib\Draw\CDirect3D.cs">
|
<Compile Include="Lib\Draw\CDirect3D.cs">
|
||||||
<SubType>Form</SubType>
|
<SubType>Form</SubType>
|
||||||
|
|||||||
Reference in new issue
Block a user