DEKI/ENGINE docs
Deki 0.19.0
Modular C++ 2D engine for embedded displays and desktop
Loading...
Searching...
No Matches
Deki::ComponentTypeInfo Struct Reference

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

Detailed Description

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.

Member Data Documentation

◆ name

const char* Deki::ComponentTypeInfo::name

◆ shortName

const char* Deki::ComponentTypeInfo::shortName

◆ typeId

ComponentType Deki::ComponentTypeInfo::typeId

◆ baseTypeId

ComponentType Deki::ComponentTypeInfo::baseTypeId

◆ isAbstract

bool Deki::ComponentTypeInfo::isAbstract

◆ declaresUpdate

bool Deki::ComponentTypeInfo::declaresUpdate

◆ create

Component *(*) Deki::ComponentTypeInfo::create()

◆ deserialize

bool(*) Deki::ComponentTypeInfo::deserialize(Component *self, SceneFormat::SceneMsgPackParser &parser, uint32_t mapSize)

◆ resolveObjectRefs

void(*) Deki::ComponentTypeInfo::resolveObjectRefs(Component *self, Scene *scene)

◆ remapObjectRefs

void(*) Deki::ComponentTypeInfo::remapObjectRefs(Component *self, const std::unordered_map< uint32_t, uint32_t > &idRemap)

◆ fields

const FieldRef* Deki::ComponentTypeInfo::fields

◆ fieldCount

int Deki::ComponentTypeInfo::fieldCount

◆ meta

const ComponentMeta* Deki::ComponentTypeInfo::meta

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