flasim/src/Globals.hpp

53 lines
1.1 KiB
C++

#ifndef GLOBALS_HPP
#define GLOBALS_HPP
namespace cAudio
{
class IAudioManager;
}
namespace irr
{
class IrrlichtDevice;
namespace scene
{
class ISceneManager;
}
namespace video
{
class IVideoDriver;
}
namespace gui
{
class IGUIFont;
}
}
//! Globally used stuff (mostly irrlicht-related) packed in a singleton
class Globals
{
public:
static class irr::IrrlichtDevice* getDevice();
static class irr::scene::ISceneManager* getSceneManager();
static class irr::video::IVideoDriver* getVideoDriver();
static cAudio::IAudioManager* getAudioManager();
static class Dispatcher* getDispatcher();
static class irr::gui::IGUIFont *getFont();
static void shutdown();
private:
Globals();
~Globals();
static Globals* instance;
class irr::IrrlichtDevice* dev;
class irr::scene::ISceneManager* sman;
class irr::video::IVideoDriver* drv;
class cAudio::IAudioManager *audioManager;
class Dispatcher *dispatcher;
class irr::gui::IGUIFont *font;
};
#endif // GLOBALS_HPP