This commit is contained in:
parent
903a84367b
commit
d936b98f6a
9 changed files with 264 additions and 33 deletions
|
@ -12,6 +12,7 @@
|
|||
===========================================================================*/
|
||||
|
||||
#ifndef __FRONTEND_FRONTENTD_H__
|
||||
#define __FRONTEND_FRONTENTD_H__
|
||||
|
||||
/*----------------------------------------------------------------------
|
||||
Includes
|
||||
|
@ -28,6 +29,14 @@
|
|||
/*----------------------------------------------------------------------
|
||||
Tyepdefs && Defines
|
||||
------------------- */
|
||||
typedef enum
|
||||
{
|
||||
EXITCODE__NONE,
|
||||
|
||||
EXITCODE__START_GAME,
|
||||
EXITCODE__GOTO_OPTIONS,
|
||||
} MainTitleExitCode;
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------
|
||||
Structure defintions
|
||||
|
@ -36,6 +45,16 @@
|
|||
class CFrontEndScene : public CScene
|
||||
{
|
||||
public:
|
||||
typedef enum
|
||||
{
|
||||
MODE__MAIN_TITLES,
|
||||
MODE__GAME_OPTIONS,
|
||||
MODE__CHOOSE_SLOT,
|
||||
MODE__DEMO,
|
||||
|
||||
MODE__NONE,
|
||||
} FrontEndMode;
|
||||
|
||||
void init();
|
||||
void shutdown();
|
||||
void render();
|
||||
|
@ -45,7 +64,26 @@ public:
|
|||
|
||||
|
||||
private:
|
||||
class CFrontEndMainTitles *m_mainTitles;
|
||||
void setMode(FrontEndMode _newMode);
|
||||
|
||||
FrontEndMode m_mode;
|
||||
class CFrontEndMode *m_modeCode;
|
||||
static class CFrontEndMode *s_modeCodes[];
|
||||
|
||||
};
|
||||
|
||||
|
||||
class CFrontEndMode
|
||||
{
|
||||
public:
|
||||
virtual void init()=0;
|
||||
virtual void shutdown()=0;
|
||||
virtual void render()=0;
|
||||
virtual void think(int _frames)=0;
|
||||
|
||||
virtual int isReadyToExit()=0;
|
||||
virtual CFrontEndScene::FrontEndMode getNextMode()=0;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue