- #ifndef _APPLICATIONMANAGER_H__
- #define _APPLICATIONMANAGER_H__
- #include "Irrlicht.h"
- using namespace irr;
- using namespace core;
- using namespace scene;
- using namespace video;
- using namespace io;
- using namespace gui;
- #define APPLICATIONMANAGER ApplicationManager::Instance()
- enum CurrentDemo
- {
- NONE,
- HELLOWORLD,
- MODEL,
- LIGHTING,
- PARTICLE,
- TERRAIN
- };
- class ApplicationManager :
- public IEventReceiver
- {
- public:
- ~ApplicationManager();
- static ApplicationManager& Instance()
- {
- static ApplicationManager instance;
- return instance;
- }
- void Startup();
- void Shutdown();
- bool OnEvent(const SEvent& event);
- protected:
- ApplicationManager();
- void InitialiseVariables();
- void ShutdownCurrentDemo();
- void StartupModel();
- void ShutdownModel();
- void StartupLighting();
- void ShutdownLighting();
- void StartupParticles();
- void ShutdownParticles();
- void StartupTerrain();
- void ShutdownTerrain();
- CurrentDemo currentDemo;
- ICameraSceneNode* camera;
- ITerrainSceneNode* terrain;
- IParticleSystemSceneNode* particleSystem;
- IAnimatedMeshSceneNode* model;
- ILightSceneNode* light1;
- IBillboardSceneNode * billboard;
- };
- #endif