FIFE
|
Engine acts as a controller to the whole system Responsibilities of the engine are: More...
#include <engine.h>
Public Member Functions | |
Engine () | |
Constructor. More... | |
virtual | ~Engine () |
Destructor. More... | |
EngineSettings & | getSettings () |
Gets settings class for engine. More... | |
const DeviceCaps & | getDeviceCaps () const |
Gets device capabilities. More... | |
void | changeScreenMode (const ScreenMode &mode) |
Changes the screen mode. More... | |
void | init () |
Initializes the engine. More... | |
void | destroy () |
Explicit destruction of engine. More... | |
void | initializePumping () |
Initializes the continuous processing of the engine Call this only once in your program. More... | |
void | finalizePumping () |
Finalizes the continuous processing of the engine Call this only once in your program, after you have called initializePumping + (pump() * N times) More... | |
void | pump () |
Runs one cycle for the engine. More... | |
SoundManager * | getSoundManager () const |
Provides access point to the SoundManager. More... | |
EventManager * | getEventManager () const |
Provides access point to the EventManager. More... | |
TimeManager * | getTimeManager () const |
Provides access point to the TimeManager. More... | |
void | setGuiManager (IGUIManager *guimanager) |
Sets the GUI Manager to use. More... | |
IGUIManager * | getGuiManager () const |
Provides access point to the GUI Manager. More... | |
ImageManager * | getImageManager () const |
Provides access point to the ImageManager. More... | |
SoundClipManager * | getSoundClipManager () const |
Provides access point to the SoundClipManager. More... | |
RenderBackend * | getRenderBackend () const |
Provides access point to the RenderBackend. More... | |
Model * | getModel () const |
Provides access point to the Model. More... | |
LogManager * | getLogManager () const |
Provides access point to the LogManager. More... | |
VFS * | getVFS () const |
Provides access point to the VFS. More... | |
Cursor * | getCursor () const |
Returns cursor used in the engine. More... | |
OffRenderer * | getOffRenderer () const |
Provides access point to the OffRenderer. More... | |
TargetRenderer * | getTargetRenderer () const |
Provides access point to the TargetRenderer. More... | |
void | addChangeListener (IEngineChangeListener *listener) |
Adds new change listener. More... | |
void | removeChangeListener (IEngineChangeListener *listener) |
Removes associated change listener. More... | |
Private Attributes | |
RenderBackend * | m_renderbackend |
IGUIManager * | m_guimanager |
EventManager * | m_eventmanager |
SoundManager * | m_soundmanager |
TimeManager * | m_timemanager |
ImageManager * | m_imagemanager |
SoundClipManager * | m_soundclipmanager |
VFS * | m_vfs |
Model * | m_model |
LogManager * | m_logmanager |
Cursor * | m_cursor |
bool | m_destroyed |
EngineSettings | m_settings |
DeviceCaps | m_devcaps |
ScreenMode | m_screenMode |
OffRenderer * | m_offrenderer |
TargetRenderer * | m_targetrenderer |
std::vector< RendererBase * > | m_renderers |
std::vector < IEngineChangeListener * > | m_changelisteners |
Engine acts as a controller to the whole system Responsibilities of the engine are:
FIFE::Engine::Engine | ( | ) |
Constructor.
Definition at line 92 of file engine.cpp.
References FIFE::LogManager::instance(), and m_logmanager.
|
virtual |
void FIFE::Engine::addChangeListener | ( | IEngineChangeListener * | listener | ) |
Adds new change listener.
listener | to add |
Definition at line 366 of file engine.cpp.
References m_changelisteners.
void FIFE::Engine::changeScreenMode | ( | const ScreenMode & | mode | ) |
Changes the screen mode.
This should be called instead of the renderer's setScreenMode() function. It takes care of any objects that need to be re-created after switching screen modes.
mode | A valid ScreenMode retrieved from FIFE::DeviceCaps::getNearestScreenMode() |
Definition at line 133 of file engine.cpp.
References FIFE::ScreenMode::getHeight(), FIFE::ScreenMode::getWidth(), FIFE::Cursor::invalidate(), FIFE::ImageManager::invalidateAll(), m_changelisteners, m_cursor, m_guimanager, m_imagemanager, m_renderbackend, FIFE::IGUIManager::resizeTopContainer(), and FIFE::RenderBackend::setScreenMode().
void FIFE::Engine::destroy | ( | ) |
Explicit destruction of engine.
Definition at line 301 of file engine.cpp.
References FIFE::_log, FL_LOG, m_cursor, m_destroyed, m_guimanager, m_imagemanager, m_model, m_offrenderer, m_renderbackend, m_renderers, m_soundclipmanager, m_soundmanager, m_targetrenderer, m_timemanager, and m_vfs.
Referenced by ~Engine().
void FIFE::Engine::finalizePumping | ( | ) |
Finalizes the continuous processing of the engine Call this only once in your program, after you have called initializePumping + (pump() * N times)
Definition at line 362 of file engine.cpp.
|
inline |
const DeviceCaps & FIFE::Engine::getDeviceCaps | ( | ) | const |
|
inline |
Provides access point to the EventManager.
Definition at line 135 of file engine.h.
References m_eventmanager.
|
inline |
Provides access point to the GUI Manager.
Definition at line 149 of file engine.h.
References m_guimanager.
|
inline |
Provides access point to the ImageManager.
Definition at line 153 of file engine.h.
References m_imagemanager.
|
inline |
Provides access point to the LogManager.
Definition at line 169 of file engine.h.
References m_logmanager.
|
inline |
|
inline |
Provides access point to the OffRenderer.
Definition at line 181 of file engine.h.
References m_offrenderer.
|
inline |
Provides access point to the RenderBackend.
Definition at line 161 of file engine.h.
References m_renderbackend.
EngineSettings & FIFE::Engine::getSettings | ( | ) |
|
inline |
Provides access point to the SoundClipManager.
Definition at line 157 of file engine.h.
References m_soundclipmanager.
|
inline |
Provides access point to the SoundManager.
Definition at line 131 of file engine.h.
References m_soundmanager.
|
inline |
Provides access point to the TargetRenderer.
Definition at line 185 of file engine.h.
References m_targetrenderer.
|
inline |
Provides access point to the TimeManager.
Definition at line 139 of file engine.h.
References m_timemanager.
|
inline |
void FIFE::Engine::init | ( | ) |
Initializes the engine.
Definition at line 151 of file engine.cpp.
References FIFE::_log, FIFE::VFS::addProvider(), FIFE::VFS::addSource(), FIFE::Model::adoptCellGrid(), FIFE::Model::adoptPather(), FIFE::RenderBackend::createMainScreen(), FIFE::DeviceCaps::fillDeviceCaps(), FL_LOG, FL_WARN, FIFE::DeviceCaps::getAvailableDrivers(), FIFE::EngineSettings::getBitsPerPixel(), FIFE::EngineSettings::getColorKey(), FIFE::EngineSettings::getFrameLimit(), FIFE::EngineSettings::getInitialVolume(), FIFE::EngineSettings::getLightingModel(), FIFE::EngineSettings::getMouseSensitivity(), FIFE::DeviceCaps::getNearestScreenMode(), FIFE::EngineSettings::getRenderBackend(), FIFE::EngineSettings::getScreenHeight(), FIFE::EngineSettings::getScreenWidth(), FIFE::EngineSettings::getVideoDriver(), FIFE::EngineSettings::getWindowIcon(), FIFE::EngineSettings::getWindowTitle(), FIFE::RenderBackend::init(), FIFE::EngineSettings::isColorKeyEnabled(), FIFE::EngineSettings::isFrameLimitEnabled(), FIFE::EngineSettings::isFullScreen(), FIFE::EngineSettings::isGLCompressImages(), FIFE::EngineSettings::isGLUseFramebuffer(), FIFE::EngineSettings::isGLUseNPOT(), FIFE::EngineSettings::isMouseAccelerationEnabled(), m_cursor, m_destroyed, m_devcaps, m_eventmanager, m_imagemanager, m_model, m_offrenderer, m_renderbackend, m_renderers, m_screenMode, m_settings, m_soundclipmanager, m_soundmanager, m_targetrenderer, m_timemanager, m_vfs, FIFE::RenderBackend::setColorKeyEnabled(), FIFE::RenderBackend::setFramebufferEnabled(), FIFE::RenderBackend::setFrameLimit(), FIFE::RenderBackend::setFrameLimitEnabled(), FIFE::RenderBackend::setImageCompressingEnabled(), FIFE::RenderBackend::setLightingModel(), FIFE::EventManager::setMouseAccelerationEnabled(), FIFE::EventManager::setMouseSensitivity(), FIFE::RenderBackend::setNPOTEnabled(), and FIFE::SoundManager::setVolume().
void FIFE::Engine::initializePumping | ( | ) |
Initializes the continuous processing of the engine Call this only once in your program.
Definition at line 337 of file engine.cpp.
References m_eventmanager, and FIFE::EventManager::processEvents().
void FIFE::Engine::pump | ( | ) |
Runs one cycle for the engine.
Definition at line 341 of file engine.cpp.
References FIFE::RenderBackend::clearBackBuffer(), FIFE::Cursor::draw(), FIFE::RenderBackend::endFrame(), FIFE::Model::getMapCount(), m_cursor, m_eventmanager, m_guimanager, m_model, m_offrenderer, m_renderbackend, m_targetrenderer, m_timemanager, FIFE::EventManager::processEvents(), FIFE::TargetRenderer::render(), FIFE::OffRenderer::render(), FIFE::RenderBackend::startFrame(), FIFE::IGUIManager::turn(), FIFE::TimeManager::update(), and FIFE::Model::update().
void FIFE::Engine::removeChangeListener | ( | IEngineChangeListener * | listener | ) |
Removes associated change listener.
listener | to remove |
Definition at line 370 of file engine.cpp.
References m_changelisteners.
|
inline |
Sets the GUI Manager to use.
Engine takes ownership of the manager so DONT DELETE IT!
Definition at line 145 of file engine.h.
References m_guimanager.
|
private |
Definition at line 222 of file engine.h.
Referenced by addChangeListener(), changeScreenMode(), and removeChangeListener().
|
private |
Definition at line 210 of file engine.h.
Referenced by changeScreenMode(), destroy(), getCursor(), init(), and pump().
|
private |
|
private |
Definition at line 214 of file engine.h.
Referenced by getDeviceCaps(), and init().
|
private |
Definition at line 200 of file engine.h.
Referenced by getEventManager(), init(), initializePumping(), and pump().
|
private |
Definition at line 199 of file engine.h.
Referenced by changeScreenMode(), destroy(), getGuiManager(), pump(), and setGuiManager().
|
private |
Definition at line 203 of file engine.h.
Referenced by changeScreenMode(), destroy(), getImageManager(), and init().
|
private |
Definition at line 208 of file engine.h.
Referenced by Engine(), and getLogManager().
|
private |
|
private |
|
private |
Definition at line 198 of file engine.h.
Referenced by changeScreenMode(), destroy(), getRenderBackend(), init(), and pump().
|
private |
|
private |
|
private |
Definition at line 213 of file engine.h.
Referenced by getSettings(), and init().
|
private |
Definition at line 204 of file engine.h.
Referenced by destroy(), getSoundClipManager(), and init().
|
private |
Definition at line 201 of file engine.h.
Referenced by destroy(), getSoundManager(), and init().
|
private |
|
private |
|
private |