|
Deki 0.19.0
Modular C++ 2D engine for embedded displays and desktop
|
Everything the engine knows about one component class. More...
#include <deki/Component.h>
Public Attributes | |
| const char * | name |
| const char * | shortName |
| ComponentType | typeId |
| ComponentType | baseTypeId |
| bool | isAbstract |
| bool | declaresUpdate |
| Component *(*) | create () |
| bool(*) | deserialize (Component *self, SceneFormat::SceneMsgPackParser &parser, uint32_t mapSize) |
| void(*) | resolveObjectRefs (Component *self, Scene *scene) |
| void(*) | remapObjectRefs (Component *self, const std::unordered_map< uint32_t, uint32_t > &idRemap) |
| const FieldRef * | fields |
| int | fieldCount |
| const ComponentMeta * | meta |
Everything the engine knows about one component class.
The reflection codegen emits one per class into the owning package's generated sources, and it is registered with ComponentFactory at startup. Each instance points at its class's entry (Component::GetTypeInfo), which is how GetType(), Deserialize() and the reference fixups work without the class declaring anything itself.
All strings are literals with static storage.
| const char* Deki::ComponentTypeInfo::name |
| const char* Deki::ComponentTypeInfo::shortName |
| ComponentType Deki::ComponentTypeInfo::typeId |
| ComponentType Deki::ComponentTypeInfo::baseTypeId |
| bool Deki::ComponentTypeInfo::isAbstract |
| bool Deki::ComponentTypeInfo::declaresUpdate |
| Component *(*) Deki::ComponentTypeInfo::create() |
| bool(*) Deki::ComponentTypeInfo::deserialize(Component *self, SceneFormat::SceneMsgPackParser &parser, uint32_t mapSize) |
| void(*) Deki::ComponentTypeInfo::remapObjectRefs(Component *self, const std::unordered_map< uint32_t, uint32_t > &idRemap) |
| const FieldRef* Deki::ComponentTypeInfo::fields |
| int Deki::ComponentTypeInfo::fieldCount |
| const ComponentMeta* Deki::ComponentTypeInfo::meta |