igor::iEntityComponent Class Referenceabstract

#include <iEntityComponent.h>

Inherited by igor::iAnimationComponent, igor::iBehaviourComponent, igor::iCameraComponent, igor::iCircleComponent, igor::iGlobalBoundaryComponent, igor::iLightComponent, igor::iMeshReferenceComponent, igor::iMeshRenderComponent, igor::iOctreeComponent, igor::iPrefabComponent, igor::iQuadtreeComponent, igor::iSphereComponent, igor::iSpriteRenderComponent, igor::iTransformComponent, and igor::iVelocityComponent.

Public Member Functions

 iEntityComponent ()
 
virtual ~iEntityComponent ()=default
 
const iEntityComponentIDgetID () const
 
iEntityComponentState getState () const
 
virtual std::vector< iaStringgetInfo () const
 
IGOR_INLINE void setDirty ()
 
uint16 getVersion () const
 

Protected Member Functions

virtual bool onLoad (iEntityPtr entity, bool &asyncLoad)
 
virtual void onActivate (iEntityPtr entity)
 
virtual void onDeactivate (iEntityPtr entity)
 
virtual void onUnLoad (iEntityPtr entity)
 
virtual iEntityComponentPtr getCopy ()=0
 
iEntityPtr getEntity () const
 

Friends

class iEntity
 
class iEntityScene
 
class iTransformComponent
 

Detailed Description

entity component base class

Constructor & Destructor Documentation

◆ iEntityComponent()

igor::iEntityComponent::iEntityComponent ( )

ctor

◆ ~iEntityComponent()

virtual igor::iEntityComponent::~iEntityComponent ( )
virtualdefault

does nothing

Member Function Documentation

◆ getCopy()

virtual iEntityComponentPtr igor::iEntityComponent::getCopy ( )
protectedpure virtual
Returns
a copy of this component

◆ getEntity()

iEntityPtr igor::iEntityComponent::getEntity ( ) const
protected
Returns
entity

◆ getID()

const iEntityComponentID & igor::iEntityComponent::getID ( ) const
Returns
entity component id

◆ getInfo()

◆ getState()

iEntityComponentState igor::iEntityComponent::getState ( ) const
Returns
state of this component

◆ getVersion()

uint16 igor::iEntityComponent::getVersion ( ) const
Returns
version

◆ onActivate()

void igor::iEntityComponent::onActivate ( iEntityPtr  entity)
protectedvirtual

callback to activate component

◆ onDeactivate()

void igor::iEntityComponent::onDeactivate ( iEntityPtr  entity)
protectedvirtual

callback to deactivate component

◆ onLoad()

bool igor::iEntityComponent::onLoad ( iEntityPtr  entity,
bool &  asyncLoad 
)
protectedvirtual

callback for loading component

Parameters
entitythe entity this component relates to
[out]asyncLoadif true try again if unsuccessful
Returns
true when loading was successful

◆ onUnLoad()

void igor::iEntityComponent::onUnLoad ( iEntityPtr  entity)
protectedvirtual

callback for unload component

◆ setDirty()

IGOR_INLINE void igor::iEntityComponent::setDirty ( )
inline

sets component dirty by increasing version

Friends And Related Function Documentation

◆ iEntity

friend class iEntity
friend

◆ iEntityScene

friend class iEntityScene
friend

◆ iTransformComponent

friend class iTransformComponent
friend

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