00001
00002
00003 #ifndef __MENU_H
00004 #define __MENU_H
00005
00006
00007 #include "irrlicht.h"
00008 using namespace irr;
00009
00010
00011 class cWorld;
00012 class mt19937;
00013 class cConfiguration;
00014 class cAudioDevice;
00015
00016 enum eMenuStatus { eMenuStart=1, eMenuEnterLandscape, eMenuEnterCode, eMenuProceed, eMenuQuit };
00017
00018 class cMenuScreen : public IEventReceiver
00019 {
00020 public:
00021
00022 cMenuScreen( IrrlichtDevice* device, cConfiguration* configuration, cAudioDevice* audioDevice );
00023 ~cMenuScreen();
00024
00025
00026 bool run( unsigned int* level );
00027
00028 private:
00029
00030 bool OnEvent( const SEvent& event );
00031
00032 private:
00033 IrrlichtDevice* mDevice;
00034 video::IVideoDriver* mDriver;
00035 scene::ISceneManager* mSmgr;
00036 gui::IGUIEnvironment* mEnv;
00037 ILogger *mLogger;
00038
00039
00040 cWorld* mWorld;
00041
00042
00043 cConfiguration* mConfiguration;
00044
00045
00046 cAudioDevice* mAudioDevice;
00047
00048
00049 eMenuStatus mMenuStatus;
00050
00051
00052 video::ITexture* tIrrlichtLogo;
00053
00054
00055 core::stringc mLandscapeNumber;
00056 core::stringc mLandscapeCode;
00057 };
00058
00059
00060 #endif // __MENU_H