GameKit  0.0.1a
C++ gamedev tools
Public Member Functions | Private Member Functions | Private Attributes | List of all members
gk::Scene Class Reference

#include <Scene.hpp>

Inheritance diagram for gk::Scene:
gk::IDrawable

Public Member Functions

 Scene ()
 
void reset ()
 
void update ()
 
void reset (SceneObject &object)
 
void update (SceneObject &object)
 
SceneObjectaddObject (SceneObject &&object)
 
void addCollisionChecker (std::function< void(SceneObject &)> checker)
 
void checkCollisionsFor (SceneObject &object)
 
SceneObjectListobjects ()
 
const SceneObjectListobjects () const
 
template<typename T , typename... Args>
auto addController (Args &&...args) -> typename std::enable_if< std::is_base_of< AbstractController, T >::value, T &>::type
 
template<typename T , typename... Args>
auto addView (Args &&...args) -> typename std::enable_if< std::is_base_of< AbstractView, T >::value, T &>::type
 
template<typename T , typename... Args>
auto setCollisionHelper (Args &&...args) -> typename std::enable_if< std::is_base_of< CollisionHelper, T >::value, T &>::type
 
bool isActive ()
 
void draw (const SceneObject &object, RenderTarget &target, RenderStates states) const
 
- Public Member Functions inherited from gk::IDrawable
virtual ~IDrawable ()=default
 Virtual destructor. More...
 

Private Member Functions

void draw (RenderTarget &target, RenderStates states) const override
 Draw the object to a render target. More...
 

Private Attributes

SceneObjectList m_objects
 
std::list< std::unique_ptr< AbstractController > > m_controllerList
 
std::list< std::unique_ptr< AbstractView > > m_viewList
 
std::unique_ptr< CollisionHelperm_collisionHelper
 

Additional Inherited Members

Detailed Description

Definition at line 29 of file Scene.hpp.

Constructor & Destructor Documentation

§ Scene()

gk::Scene::Scene ( )

Definition at line 19 of file Scene.cpp.

Member Function Documentation

§ addCollisionChecker()

void gk::Scene::addCollisionChecker ( std::function< void(SceneObject &)>  checker)

Definition at line 91 of file Scene.cpp.

§ addController()

template<typename T , typename... Args>
auto gk::Scene::addController ( Args &&...  args) -> typename std::enable_if<std::is_base_of<AbstractController, T>::value, T&>::type
inline

Definition at line 48 of file Scene.hpp.

§ addObject()

SceneObject & gk::Scene::addObject ( SceneObject &&  object)

Definition at line 79 of file Scene.cpp.

§ addView()

template<typename T , typename... Args>
auto gk::Scene::addView ( Args &&...  args) -> typename std::enable_if<std::is_base_of<AbstractView, T>::value, T&>::type
inline

Definition at line 54 of file Scene.hpp.

§ checkCollisionsFor()

void gk::Scene::checkCollisionsFor ( SceneObject object)

Definition at line 99 of file Scene.cpp.

§ draw() [1/2]

void gk::Scene::draw ( const SceneObject object,
RenderTarget target,
RenderStates  states 
) const

Definition at line 65 of file Scene.cpp.

§ draw() [2/2]

void gk::Scene::draw ( RenderTarget target,
RenderStates  states 
) const
overrideprivatevirtual

Draw the object to a render target.

This is a pure virtual function that has to be implemented by the derived class to define how the drawable should be drawn.

Parameters
targetRender target to draw to
statesCurrent render states

Implements gk::IDrawable.

Definition at line 74 of file Scene.cpp.

§ isActive()

bool gk::Scene::isActive ( )
inline

Definition at line 65 of file Scene.hpp.

§ objects() [1/2]

SceneObjectList& gk::Scene::objects ( )
inline

Definition at line 44 of file Scene.hpp.

§ objects() [2/2]

const SceneObjectList& gk::Scene::objects ( ) const
inline

Definition at line 45 of file Scene.hpp.

§ reset() [1/2]

void gk::Scene::reset ( )

Definition at line 23 of file Scene.cpp.

§ reset() [2/2]

void gk::Scene::reset ( SceneObject object)

Definition at line 43 of file Scene.cpp.

§ setCollisionHelper()

template<typename T , typename... Args>
auto gk::Scene::setCollisionHelper ( Args &&...  args) -> typename std::enable_if<std::is_base_of<CollisionHelper, T>::value, T&>::type
inline

Definition at line 60 of file Scene.hpp.

§ update() [1/2]

void gk::Scene::update ( )

Definition at line 33 of file Scene.cpp.

§ update() [2/2]

void gk::Scene::update ( SceneObject object)

Definition at line 54 of file Scene.cpp.

Member Data Documentation

§ m_collisionHelper

std::unique_ptr<CollisionHelper> gk::Scene::m_collisionHelper
private

Definition at line 77 of file Scene.hpp.

§ m_controllerList

std::list<std::unique_ptr<AbstractController> > gk::Scene::m_controllerList
private

Definition at line 74 of file Scene.hpp.

§ m_objects

SceneObjectList gk::Scene::m_objects
private

Definition at line 72 of file Scene.hpp.

§ m_viewList

std::list<std::unique_ptr<AbstractView> > gk::Scene::m_viewList
private

Definition at line 75 of file Scene.hpp.


The documentation for this class was generated from the following files: