//////////////////////////////////////////////////////////////////////
//
// GameStateLevel02.h: interface for the CGameStateLevel02 class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_CGameStateLevel02_H_INCLUDED_)
#define AFX_CGameStateLevel02_H_INCLUDED_
#include "GamePlayState.h"
class CGameStateLevel02 : public CGamePlayState
{
public:
virtual void Init(CGameManager* pManager);
virtual void Clear(CGameManager* pManager);
virtual void Update(CGameManager * pManager);
virtual void KeyboardEvent(CGameManager* pManager);
void decrementEnemiesRemaining(void);
bool acceptEnemyCreation(CGameManager * pManager);
static CGameStateLevel02* Instance();
virtual ~CGameStateLevel02();
protected:
CGameStateLevel02();
private:
static CGameStateLevel02 m_GameStateLevel02; // singleton...
core::vector3df startNode;
core::vector3df endNode;
int mLevelFinishedCounter;
int mEnemiesRemaining;
IGUIStaticText* mEnemiesRemainingText;
IGUIStaticText* mBossLifeText;
irr::video::ITexture* mEnemiesRemainingIcon;
irr::video::ITexture* mBossIcon;
void loadPathMap(CGameManager* pManager);
void addHealthPickups(CGameManager* pManager);
void addAmmoPickups(CGameManager* pManager);
void addKeyPickups(CGameManager* pManager);
void displayEnemiesRemaining(CGameManager* pManager);
void displayBossLife(CGameManager* pManager);
bool levelFinished(CGameManager* pManager);
};
#endif