This commit is contained in:
Paul 2000-11-20 15:45:17 +00:00
parent 903a84367b
commit d936b98f6a
9 changed files with 264 additions and 33 deletions

View file

@ -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;
};