neoGFX
Cross-platform C++ app/game engine
neogfx::game::i_component Class Referenceabstract

#include <i_component.hpp>

Inheritance diagram for neogfx::game::i_component:
neogfx::game::i_component_base neogfx::game::static_component_base< Data, i_component > neogfx::game::static_component< Data >

Public Member Functions

virtual bool has_entity_record (entity_id aEntity) const =0
 
virtual void destroy_entity_record (entity_id aEntity)=0
 
virtual void * populate (entity_id aEntity, const void *aComponentData, std::size_t aComponentDataSize)=0
 
template<typename ComponentData >
void * populate (entity_id aEntity, ComponentData &&aComponentData)
 
- Public Member Functions inherited from neogfx::game::i_component_base
virtual ~i_component_base ()=default
 
virtual game::i_ecsecs () const =0
 
virtual const component_idid () const =0
 
virtual bool is_data_optional () const =0
 
virtual const i_stringname () const =0
 
virtual uint32_t field_count () const =0
 
virtual component_data_field_type field_type (uint32_t aFieldIndex) const =0
 
virtual neolib::uuid field_type_id (uint32_t aFieldIndex) const =0
 
virtual const i_stringfield_name (uint32_t aFieldIndex) const =0
 

Detailed Description

Definition at line 57 of file i_component.hpp.

Member Function Documentation

◆ destroy_entity_record()

virtual void neogfx::game::i_component::destroy_entity_record ( entity_id  aEntity)
pure virtual

◆ has_entity_record()

virtual bool neogfx::game::i_component::has_entity_record ( entity_id  aEntity) const
pure virtual

◆ populate() [1/2]

virtual void* neogfx::game::i_component::populate ( entity_id  aEntity,
const void *  aComponentData,
std::size_t  aComponentDataSize 
)
pure virtual

◆ populate() [2/2]

template<typename ComponentData >
void* neogfx::game::i_component::populate ( entity_id  aEntity,
ComponentData &&  aComponentData 
)
inline

Definition at line 65 of file i_component.hpp.


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