Nebula
|
#include <component.h>
These are registered to the attribute registry so that we can add more functionality to attributes.
Inherits MemDb::Attribute.
Public Types | |
using | ComponentInitFunc = void (*)(Game::World*, Game::Entity, void*) |
Public Member Functions | |
template<typename T > | |
ComponentInterface (Util::StringAtom name, T const &defaultValue, uint32_t flags) | |
construct from template type, with default value. | |
const char * | GetName () const |
const char * | GetFullyQualifiedName () const |
const char ** | GetFieldNames () const |
const char ** | GetFieldTypenames () const |
const size_t * | GetFieldByteOffsets () const |
size_t const | GetNumFields () const |
Public Member Functions inherited from MemDb::Attribute | |
template<typename T > | |
Attribute (Util::StringAtom name, T const &defaultValue, uint32_t flags) | |
construct from template type, with default value. | |
Attribute (Util::StringAtom name, SizeT typeSizeBytes, void const *defaultValue, uint32_t flags) | |
construct from type size in bytes, with default value from void*. | |
Attribute ()=default | |
default constructor | |
Attribute (Attribute &&desc) noexcept | |
move constructor | |
~Attribute () | |
desctructor | |
void | operator= (Attribute &&rhs) noexcept |
move assignment operator | |
void | operator= (Attribute &rhs) |
assignment operator | |
Public Attributes | |
ComponentInitFunc | Init = nullptr |
Public Attributes inherited from MemDb::Attribute | |
Util::StringAtom | name |
name of attribute | |
SizeT | typeSize = 0 |
size of type in bytes | |
void * | defVal = nullptr |
default value | |
uint32_t | externalFlags |
externally managed flags | |
Private Attributes | |
const char * | componentName = nullptr |
const char * | fullyQualifiedName = nullptr |
const char ** | fieldNames = nullptr |
const char ** | fieldTypenames = nullptr |
const size_t * | fieldByteOffsets = nullptr |
size_t | numFields = 0 |
using Game::ComponentInterface::ComponentInitFunc = void (*)(Game::World*, Game::Entity, void*) |
|
inlineexplicit |
construct from template type, with default value.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
|
private |
|
private |
|
private |
|
private |
ComponentInitFunc Game::ComponentInterface::Init = nullptr |
|
private |