|
Sparkle 0.0.1
|
Root container that manages entities and dispatches events. More...
#include <spk_game_engine.hpp>

Public Member Functions | |
| GameEngine () | |
| Creates a new game engine. | |
| void | clear () |
| Clears all entities from the engine. | |
| spk::Entity & | rootObject () |
| Returns the root entity. | |
| void | addEntity (Entity *p_entity) |
| Adds an entity to the engine. | |
| void | removeEntity (Entity *p_entity) |
| Removes an entity from the engine. | |
| Entity * | getEntity (const std::wstring &p_name) |
| Returns the first entity matching the name. | |
| const Entity * | getEntity (const std::wstring &p_name) const |
| Returns the first entity matching the name. | |
| std::vector< Entity * > | getEntities (const std::wstring &p_name) |
| Returns all entities matching the name. | |
| std::vector< const Entity * > | getEntities (const std::wstring &p_name) const |
| Returns all entities matching the name. | |
| Entity * | getEntityByTag (const std::wstring &p_name) |
| Returns the first entity matching a tag. | |
| const Entity * | getEntityByTag (const std::wstring &p_name) const |
| Returns the first entity matching a tag. | |
| std::vector< Entity * > | getEntitiesByTag (const std::wstring &p_name) |
| Returns all entities matching a tag. | |
| std::vector< const Entity * > | getEntitiesByTag (const std::wstring &p_name) const |
| Returns all entities matching a tag. | |
| bool | contains (const std::wstring &p_name) const |
| Checks if an entity with the name exists. | |
| size_t | count (const std::wstring &p_name) const |
| Counts entities matching the name. | |
| virtual void | handleGeometryChange (const spk::Extend2D &p_geometry) final |
| Dispatches geometry change events to entities. | |
| virtual void | handlePaintEvent (spk::PaintEvent &p_event) final |
| Dispatches paint events to entities. | |
| virtual void | handleKeyPressEvent (spk::KeyPressEvent &p_event) final |
| Dispatches key press events to entities. | |
| virtual void | handleKeyReleaseEvent (spk::KeyReleaseEvent &p_event) final |
| Dispatches key release events to entities. | |
| virtual void | handleGlyphEvent (spk::GlyphEvent &p_event) final |
| Dispatches glyph input events to entities. | |
| virtual void | handleMousePressEvent (spk::MousePressEvent &p_event) final |
| Dispatches mouse press events to entities. | |
| virtual void | handleMouseReleaseEvent (spk::MouseReleaseEvent &p_event) final |
| Dispatches mouse release events to entities. | |
| virtual void | handleMouseDoubleClickEvent (spk::MouseDoubleClickEvent &p_event) final |
| Dispatches mouse double click events to entities. | |
| virtual void | handleMouseMotionEvent (spk::MouseMotionEvent &p_event) final |
| Dispatches mouse motion events to entities. | |
| virtual void | handleMouseWheelEvent (spk::MouseWheelEvent &p_event) final |
| Dispatches mouse wheel events to entities. | |
| virtual void | handleEnterResizeModeEvent (spk::EnterResizeModeEvent &p_event) final |
| Dispatches enter resize mode events to entities. | |
| virtual void | handleResizeEvent (spk::ResizeEvent &p_event) final |
| Dispatches resize events to entities. | |
| virtual void | handleExitResizeModeEvent (spk::ExitResizeModeEvent &p_event) final |
| Dispatches exit resize mode events to entities. | |
| virtual void | handleQuitEvent (spk::QuitEvent &p_event) final |
| Dispatches quit events to entities. | |
| virtual void | handleMoveEvent (spk::MoveEvent &p_event) final |
| Dispatches move events to entities. | |
| virtual void | handleFullScreenModeEvent (spk::FullScreenModeEvent &p_event) final |
| Dispatches fullscreen events to entities. | |
| virtual void | handleMaximizedModeEvent (spk::MaximizedModeEvent &p_event) final |
| Dispatches maximized events to entities. | |
| virtual void | handleFocusEvent (spk::FocusEvent &p_event) final |
| Dispatches focus events to entities. | |
| virtual void | handleUpdateEvent (spk::UpdateEvent &p_event) final |
| Dispatches update events to entities. | |
Friends | |
| class | Entity |
Root container that manages entities and dispatches events.
| void spk::GameEngine::addEntity | ( | spk::Entity * | p_entity | ) |
Adds an entity to the engine.
| p_entity | Entity to add. |


| bool spk::GameEngine::contains | ( | const std::wstring & | p_name | ) | const |
Checks if an entity with the name exists.
| p_name | Entity name. |


| size_t spk::GameEngine::count | ( | const std::wstring & | p_name | ) | const |
Counts entities matching the name.
| p_name | Entity name. |


| std::vector< spk::Entity * > spk::GameEngine::getEntities | ( | const std::wstring & | p_name | ) |
Returns all entities matching the name.
| p_name | Entity name. |


| std::vector< const Entity * > spk::GameEngine::getEntities | ( | const std::wstring & | p_name | ) | const |
Returns all entities matching the name.
| p_name | Entity name. |

| std::vector< Entity * > spk::GameEngine::getEntitiesByTag | ( | const std::wstring & | p_name | ) |
Returns all entities matching a tag.
| p_name | Tag name. |


| std::vector< const Entity * > spk::GameEngine::getEntitiesByTag | ( | const std::wstring & | p_name | ) | const |
Returns all entities matching a tag.
| p_name | Tag name. |

| spk::Entity * spk::GameEngine::getEntity | ( | const std::wstring & | p_name | ) |
Returns the first entity matching the name.
| p_name | Entity name. |


| const Entity * spk::GameEngine::getEntity | ( | const std::wstring & | p_name | ) | const |
Returns the first entity matching the name.
| p_name | Entity name. |

| Entity * spk::GameEngine::getEntityByTag | ( | const std::wstring & | p_name | ) |
Returns the first entity matching a tag.
| p_name | Tag name. |


| const Entity * spk::GameEngine::getEntityByTag | ( | const std::wstring & | p_name | ) | const |
Returns the first entity matching a tag.
| p_name | Tag name. |

|
finalvirtual |
Dispatches enter resize mode events to entities.
| p_event | Enter resize mode event. |


|
finalvirtual |
Dispatches exit resize mode events to entities.
| p_event | Exit resize mode event. |


|
finalvirtual |
Dispatches focus events to entities.
| p_event | Focus event. |


|
finalvirtual |
Dispatches fullscreen events to entities.
| p_event | Fullscreen event. |


|
finalvirtual |
Dispatches geometry change events to entities.
| p_geometry | Updated geometry. |


|
finalvirtual |
Dispatches glyph input events to entities.
| p_event | Glyph event. |


|
finalvirtual |
Dispatches key press events to entities.
| p_event | Key press event. |


|
finalvirtual |
Dispatches key release events to entities.
| p_event | Key release event. |


|
finalvirtual |
Dispatches maximized events to entities.
| p_event | Maximized event. |


|
finalvirtual |
Dispatches mouse double click events to entities.
| p_event | Mouse double click event. |


|
finalvirtual |
Dispatches mouse motion events to entities.
| p_event | Mouse motion event. |


|
finalvirtual |
Dispatches mouse press events to entities.
| p_event | Mouse press event. |


|
finalvirtual |
Dispatches mouse release events to entities.
| p_event | Mouse release event. |


|
finalvirtual |
Dispatches mouse wheel events to entities.
| p_event | Mouse wheel event. |


|
finalvirtual |
Dispatches move events to entities.
| p_event | Move event. |


|
finalvirtual |
Dispatches paint events to entities.
| p_event | Paint event. |


|
finalvirtual |
Dispatches quit events to entities.
| p_event | Quit event. |


|
finalvirtual |
Dispatches resize events to entities.
| p_event | Resize event. |


|
finalvirtual |
Dispatches update events to entities.
| p_event | Update event. |


| void spk::GameEngine::removeEntity | ( | spk::Entity * | p_entity | ) |
Removes an entity from the engine.
| p_entity | Entity to remove. |


| spk::Entity & spk::GameEngine::rootObject | ( | ) |
Returns the root entity.

