Divide Framework 0.1
A free and open-source 3D Framework under heavy development
Loading...
Searching...
No Matches
Divide::Factory< Base, Args >::Registrar< T, C > Struct Template Reference

#include <SGNComponent.h>

+ Inheritance diagram for Divide::Factory< Base, Args >::Registrar< T, C >:

Public Member Functions

template<typename... InnerArgs>
 Registrar (InnerArgs &&... args)
 
void OnData (const ECS::CustomEvent &data) override
 
- Public Member Functions inherited from ECS::Component< T >
 Component ()
 
virtual ~Component () override
 
ComponentTypeId GetStaticComponentTypeID () const
 
- Public Member Functions inherited from ECS::IComponent
 IComponent ()
 
virtual ~IComponent ()
 
bool operator== (const IComponent &other) const
 
bool operator!= (const IComponent &other) const
 
ComponentId GetComponentId () const
 
EntityId GetOwner () const
 
void SetActive (bool state)
 
bool IsActive () const
 
virtual void OnData (const CustomEvent &data)=0
 

Static Public Member Functions

static bool RegisterComponentType ()
 

Public Attributes

friend T
 

Static Public Attributes

static bool s_registered = RegisterComponentType()
 
- Static Public Attributes inherited from ECS::Component< T >
static const ComponentTypeId STATIC_COMPONENT_TYPE_ID = util::Internal::FamilyTypeID<IComponent>::Get<T>()
 

Additional Inherited Members

- Protected Attributes inherited from ECS::IComponent
ComponentId m_HashValue
 
ComponentId m_ComponentID
 
EntityId m_Owner
 
bool m_Enabled
 

Detailed Description

template<typename Base, typename... Args>
template<typename T, ComponentType C>
struct Divide::Factory< Base, Args >::Registrar< T, C >

Definition at line 108 of file SGNComponent.h.

Constructor & Destructor Documentation

◆ Registrar()

template<typename Base , typename... Args>
template<typename T , ComponentType C>
template<typename... InnerArgs>
Divide::Factory< Base, Args >::Registrar< T, C >::Registrar ( InnerArgs &&...  args)
inline

Definition at line 112 of file SGNComponent.h.

Member Function Documentation

◆ OnData()

template<typename Base , typename... Args>
template<typename T , ComponentType C>
void Divide::Factory< Base, Args >::Registrar< T, C >::OnData ( const ECS::CustomEvent data)
inlineoverridevirtual

Implements ECS::IComponent.

Definition at line 117 of file SGNComponent.h.

◆ RegisterComponentType()

template<typename Base , typename... Args>
template<typename T , ComponentType C>
static bool Divide::Factory< Base, Args >::Registrar< T, C >::RegisterComponentType ( )
inlinestatic

Definition at line 119 of file SGNComponent.h.

Member Data Documentation

◆ s_registered

template<typename Base , typename... Args>
template<typename T , ComponentType C>
bool Divide::Factory< Base, Args >::Registrar< T, C >::s_registered = RegisterComponentType()
static

Definition at line 135 of file SGNComponent.h.

◆ T

template<typename Base , typename... Args>
template<typename T , ComponentType C>
friend Divide::Factory< Base, Args >::Registrar< T, C >::T

Definition at line 137 of file SGNComponent.h.


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