/*
	Nothing really special here, just an enum of possible game states
	and the abstract base class game_state, which defines that every
	game_state has an update and a draw method ;-);
*/

namespace rectangle_battle
{
	enum GAME_STATE
	{
		MAIN_MENU,
		VERSUS_MODE,
		SURVIVAL_MODE,
		HIGHSCORE_DISPLAY,
		HIGHSCORE_ENTRY,
		QUIT
	};
	
	class game_state
	{
		public:
		virtual ~game_state()
		{};
		
		virtual GAME_STATE update(GAME_STATE current, GAME_STATE next)=0;
		
		virtual void draw()=0;
	};
};
