///////////////////////////////////////////////////////////////////////
// GameMenuState.h: interface for the CGameMenuState class.
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_CMENUSTATE_H_INCLUDED_)
#define AFX_CMENUSTATE_H_INCLUDED_
#include "../core/GameState.h"
//! Game menu selection screen
class CGameMenuState : public CGameState
{
public:
virtual void Init(CGameManager* pManager);
virtual void Clear(CGameManager* pManager);
virtual void Update(CGameManager * pManager);
virtual void KeyboardEvent(CGameManager* pManager);
virtual void MouseEvent(CGameManager* pManager);
static CGameMenuState* Instance();
virtual ~CGameMenuState();
protected:
CGameMenuState();
irr::video::ITexture* m_pMouseCursor;
position2d<s32> m_MousePos;
void DisplayMouse(CGameManager* pManager);
void MouseClicked(CGameManager* pManager);
bool MouseOver(CGameManager* pManager);
void ResetButtons(CGameManager* pManager);
void LoadMouseCursor(CGameManager* pManager);
bool m_bMouseMode;
private:
static CGameMenuState m_MenuState; // singleton...
IGUIImage* m_pIntroImage;
IGUIImage* m_pPlayButtonImage;
IGUIImage* m_pPlayButtonHighImage;
IGUIImage* m_pCreditsButtonImage;
IGUIImage* m_pCreditsButtonHighImage;
IGUIImage* m_pOptionsButtonImage;
IGUIImage* m_pOptionsButtonHighImage;
IGUIImage* m_pSettingsButtonImage;
IGUIImage* m_pSettingsButtonHighImage;
IGUIImage* m_pExitButtonImage;
IGUIImage* m_pExitButtonHighImage;
};
#endif