i6engine  1.0
i6e::api::MovementComponent Class Referenceabstract

base class for Movement components More...

#include <D:/Projekte/i6engine/libs/i6engine-modules/include/i6engine/api/components/MovementComponent.h>

Public Member Functions

 MovementComponent (const int64_t id, const attributeMap &params)
 
virtual ~MovementComponent ()
 
void Init () override
 initializes the Component More...
 
void Tick () override
 Components can have Tick method like normal Subsystems this method is called by the ObjectController during every Tick if the component registered itself at the ObjectFacade. More...
 
void Finalize () override
 finalizes the component More...
 
virtual void forward ()=0
 
virtual void backward ()=0
 
virtual void left ()=0
 
virtual void right ()=0
 
virtual void stop ()=0
 
- Public Member Functions inherited from i6e::api::Component
 Component ()
 Constructor for Component. More...
 
 Component (const int64_t id, const attributeMap &params)
 Constructor for Component. More...
 
virtual ~Component ()
 Destructor of Component. Must be implemented in derived class. More...
 
void setOwnerGO (const WeakGOPtr &objGo)
 Sets the GameObject that owns this Component. More...
 
GOPtr getOwnerGO ()
 Get the GameObject that owns this Component. More...
 
uint32_t getComponentID () const
 Returns the component identification string. More...
 
uint32_t getFamilyID () const
 Returns the family identification string. More...
 
std::string getIdentifier () const
 Returns the family identification string. More...
 
void setDie () const
 component will be deleted soon More...
 
int64_t getID () const
 returns the id of the component More...
 
virtual void News (const GameMessage::Ptr &msg)
 Receives messages for this component override this function, if you expect messages. More...
 
virtual attributeMap synchronize () const =0
 synchronizes the Components state More...
 
void setSync (bool b)
 sets whether this object has to be synchronized or not More...
 
bool getSync () const
 
void enableTicking (bool allowTicking) const
 triggers doEnableTicking threadsafe More...
 
virtual std::pair< AddStrategy, int64_t > howToAdd (const ComPtr &comp) const
 asks, how to handle a new component with the same type More...
 
void setSelf (const WeakComPtr &self)
 sets weak_ptr on self for registration of ticker More...
 
virtual std::string getTemplateName () const =0
 returns the name this template was registered with More...
 
virtual std::vector< componentOptionsgetComponentOptions ()=0
 returns a vector containing all options of the Component being readable and writeable in the editor More...
 
std::vector< ComPtrgetSubComponents () const
 returns all SubComponents attached to this Component More...
 

Protected Attributes

utils::weakPtr< PhysicalStateComponent, Component_psc
 
utils::weakPtr< VelocityComponent, Component_vc
 
- Protected Attributes inherited from i6e::api::Component
int64_t _objOwnerID
 ID of the GameObject that owns this Component. More...
 
WeakGOPtr _objOwnerGO
 Owning GameObject. More...
 
uint32_t _objComponentID
 Component ID of the Component. More...
 
uint32_t _objFamilyID
 Family ID of the Component. More...
 
std::vector< ComPtr_subComps
 vector containing the other componetns of the same type if this is the dispatcher component More...
 
std::string _identifier
 identifies the subcomponent More...
 
int64_t _id
 id of this component More...
 
bool _sync
 
WeakComPtr _self
 a weak_ptr on the own shared_ptr More...
 
bool _tickingAllowed
 status if this object is allowed to tick or not More...
 
bool _wantsToTick
 stores if a Component which isn't allowed to tick want to tick, so it can start ticking when ticking will be allowed More...
 
bool _isTicking
 stores whether this Component is actually ticking More...
 

Additional Inherited Members

- Static Public Member Functions inherited from i6e::api::Component
template<typename T >
static ComPtr createC (const int64_t id, const attributeMap &params)
 
- Protected Member Functions inherited from i6e::api::Component
void addTicker ()
 adds this component to ticklist More...
 
void removeTicker ()
 removes this component from ticklist More...
 
void doEnableTicking (bool allowTicking)
 sets ticking status for this Component per default all Components are allowed to tick and calling addTicker will start ticking, but in some cases, e.g. for level editor, ticking has to be disabled and just a few components are allowed to tick More...
 

Detailed Description

base class for Movement components

Definition at line 39 of file MovementComponent.h.

Constructor & Destructor Documentation

i6e::api::MovementComponent::MovementComponent ( const int64_t  id,
const attributeMap params 
)
virtual i6e::api::MovementComponent::~MovementComponent ( )
virtual

Member Function Documentation

virtual void i6e::api::MovementComponent::backward ( )
pure virtual
void i6e::api::MovementComponent::Finalize ( )
overridevirtual

finalizes the component

Reimplemented from i6e::api::Component.

virtual void i6e::api::MovementComponent::forward ( )
pure virtual
void i6e::api::MovementComponent::Init ( )
overridevirtual

initializes the Component

Implements i6e::api::Component.

virtual void i6e::api::MovementComponent::left ( )
pure virtual
virtual void i6e::api::MovementComponent::right ( )
pure virtual
virtual void i6e::api::MovementComponent::stop ( )
pure virtual
void i6e::api::MovementComponent::Tick ( )
overridevirtual

Components can have Tick method like normal Subsystems this method is called by the ObjectController during every Tick if the component registered itself at the ObjectFacade.

Reimplemented from i6e::api::Component.

Member Data Documentation

utils::weakPtr<PhysicalStateComponent, Component> i6e::api::MovementComponent::_psc
protected

Definition at line 61 of file MovementComponent.h.

utils::weakPtr<VelocityComponent, Component> i6e::api::MovementComponent::_vc
protected

Definition at line 62 of file MovementComponent.h.


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