GlPortal Class Reference  0.1.1
Source code documentation of the free and open 3D action puzzle game.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Data Structures | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends
radix::SystemManager Class Reference

#include <external/RadixEngine/include/radix/SystemManager.hpp>

Data Structures

struct  RunsAfterCreatesLoopException
 
struct  RunsBeforeCreatesLoopsException
 
struct  SystemAddedEvent
 
struct  SystemGraphNode
 
struct  SystemRemovedEvent
 
struct  SystemRunner
 
class  Transaction
 

Public Types

using SystemPtrVector = std::vector< std::unique_ptr< System >>
 
using SystemGraphNodeVector = std::vector< std::unique_ptr< SystemGraphNode >>
 
using SystemLoopPath = std::stack< SystemTypeId >
 
using SystemLoopVector = std::vector< std::set< SystemTypeId >>
 

Public Member Functions

Worldworld () const
 
Transaction transact ()
 
template<class T >
T & get ()
 
template<class T , typename... ArgsT>
void add (ArgsT...args)
 
template<class T >
void remove ()
 

Protected Member Functions

 SystemManager (World &)
 
void dispatchEvent (const Event &)
 
void run (TDelta dtime)
 
void computeSystemOrder ()
 

Protected Attributes

Worldw
 
struct
radix::SystemManager::SystemRunner 
systemRun
 
SystemPtrVector systems
 
SystemGraphNodeVector systemGraph
 
std::map< std::string, System & > systemsByName
 

Friends

class World
 

Member Typedef Documentation

using radix::SystemManager::SystemGraphNodeVector = std::vector<std::unique_ptr<SystemGraphNode>>
using radix::SystemManager::SystemLoopVector = std::vector<std::set<SystemTypeId>>
using radix::SystemManager::SystemPtrVector = std::vector<std::unique_ptr<System>>

Constructor & Destructor Documentation

radix::SystemManager::SystemManager ( World w)
protected

Member Function Documentation

template<class T , typename... ArgsT>
void radix::SystemManager::add ( ArgsT...  args)
inline
void radix::SystemManager::computeSystemOrder ( )
protected
void radix::SystemManager::dispatchEvent ( const Event evt)
protected
template<class T >
T& radix::SystemManager::get ( )
inline
template<class T >
void radix::SystemManager::remove ( )
inline
void radix::SystemManager::run ( TDelta  dtime)
protected
Transaction radix::SystemManager::transact ( )
inline
World& radix::SystemManager::world ( ) const
inline

Friends And Related Function Documentation

friend class World
friend

Field Documentation

SystemGraphNodeVector radix::SystemManager::systemGraph
protected
struct radix::SystemManager::SystemRunner radix::SystemManager::systemRun
protected
SystemPtrVector radix::SystemManager::systems
protected
std::map<std::string, System&> radix::SystemManager::systemsByName
protected
World& radix::SystemManager::w
protected

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