![]() |
xyginext
0.2.0
Second generation of xygine game creation framework
|
The camera system updates any camera components which are attached to entities that also have a transform. Properties such as locked rotation or locked axis are applied by this system, so it needs to exist in a scene which uses any camera other than the default one. More...
#include <CameraSystem.hpp>
Public Member Functions | |
CameraSystem (MessageBus &) | |
void | process (float) override |
Implement this for system specific processing to entities. | |
![]() | |
System (MessageBus &mb, UniqueType t) | |
Constructor. Pass in a reference to the concrete implementation to generate a unique type ID for this system. | |
UniqueType | getType () const |
Returns the unique type ID of the system. | |
const std::vector< Entity > & | getEntities () const |
Returns a list of entities that this system is currently interested in. | |
void | addEntity (Entity) |
Adds an entity to the list to process. | |
void | removeEntity (Entity) |
Removes an entity from the list to process. | |
const ComponentMask & | getComponentMask () const |
Returns the component mask used to mask entities with corresponding components for this system to process. | |
virtual void | handleMessage (const Message &) |
Used to process any incoming system messages. | |
bool | isActive () const |
Returns true if the system is currently active. Systems can be activeated and deactivated with Scene::setSystemActive() | |
template<typename T > | |
void | requireComponent () |
template<typename T > | |
T * | postMessage (Message::ID id) |
Additional Inherited Members | |
![]() | |
using | Ptr = std::unique_ptr< System > |
![]() | |
template<typename T > | |
void | requireComponent () |
Adds a component type to the list of components required by the system for it to be interested in a particular entity. This should only be used in the constructor of the System else types will not be registered. | |
std::vector< Entity > & | getEntities () |
virtual void | onEntityAdded (Entity) |
Optional callback performed when an entity is added. | |
virtual void | onEntityRemoved (Entity) |
Optional callback performed when an entity is removed. | |
template<typename T > | |
T * | postMessage (Message::ID id) |
Posts a message on the system wide message bus. | |
MessageBus & | getMessageBus () |
Returns a reference to the MessageBus. | |
void | setScene (Scene &) |
Scene * | getScene () |
Returns a pointer to the scene to which this system belongs. | |
The camera system updates any camera components which are attached to entities that also have a transform. Properties such as locked rotation or locked axis are applied by this system, so it needs to exist in a scene which uses any camera other than the default one.