Deki 1.3.0
Modular C++ 2D engine for embedded displays and desktop
Loading...
Searching...
No Matches

Placeholder for components whose type no longer exists. More...

#include <MissingComponent.h>

Inherits DekiComponent.

Public Member Functions

ComponentType GetType () const override
ComponentType GetBaseType () const override
Public Member Functions inherited from DekiComponent
 DekiComponent ()
virtual ~DekiComponent ()=default
 DekiComponent (const DekiComponent &)=delete
DekiComponentoperator= (const DekiComponent &)=delete
virtual DekiBehaviourAsBehaviour ()
virtual bool DeclaresUpdate () const
 Does this class (or a reflected base) declare Update()?
DekiObjectGetOwner () const
void SetOwner (DekiObject *owner)
virtual void LoadAssets ()
 Load assets needed by this component.
virtual void UnloadAssets ()
 Unload/clear assets held by this component.
virtual void RuntimeUpdate (float deltaTime)
 Update this component (runtime only).
virtual void OnAssetRefResolved (const char *propertyName, void *asset, const char *guid)
 Called after an AssetRef property is resolved by LifecycleManager.
virtual bool NeedsAssetLoading () const
 Check if this component needs asset loading.
virtual bool NeedsRuntimeUpdate () const
 Check if this component needs runtime updates.
virtual bool Deserialize (SceneFormat::SceneMsgPackParser &parser, uint32_t mapSize)
 Deserialize component data from MessagePack.
virtual void ResolveObjectRefs (class Scene *scene)
 Resolve all ObjectRef properties in this component.
virtual void RemapObjectRefs (const std::unordered_map< uint32_t, uint32_t > &idRemap)
 Remap ObjectRef IDs after cloning/instantiation.
bool HasRefsResolved () const
void MarkRefsResolved ()
void ResetRefsResolved ()
virtual void OnPropertyChanged (const char *propertyName)
 Called when a property is modified via the editor.

Public Attributes

uint32_t m_OriginalTypeId = 0
std::string m_TypeName
std::vector< uint8_t > m_RawData
uint32_t m_DataMapSize = 0
nlohmann::json m_JsonProperties
std::string m_ClassName

Static Public Attributes

static constexpr ComponentType StaticType = DekiHashString("__MissingComponent__")
Static Public Attributes inherited from DekiComponent
static constexpr ComponentType StaticType = 0

Additional Inherited Members

Protected Attributes inherited from DekiComponent
DekiObjectm_Owner
bool m_RefsResolved

Detailed Description

Placeholder for components whose type no longer exists.

When a scene references a component type that isn't registered (e.g., deleted package, missing plugin), a MissingComponent is created instead. It preserves the raw serialized data so saving the scene doesn't permanently lose the component data.

Member Function Documentation

◆ GetType()

ComponentType MissingComponent::GetType ( ) const
inlineoverridevirtual

Implements DekiComponent.

◆ GetBaseType()

ComponentType MissingComponent::GetBaseType ( ) const
inlineoverridevirtual

Reimplemented from DekiComponent.

Member Data Documentation

◆ StaticType

ComponentType MissingComponent::StaticType = DekiHashString("__MissingComponent__")
staticconstexpr

◆ m_OriginalTypeId

uint32_t MissingComponent::m_OriginalTypeId = 0

◆ m_TypeName

std::string MissingComponent::m_TypeName

◆ m_RawData

std::vector<uint8_t> MissingComponent::m_RawData

◆ m_DataMapSize

uint32_t MissingComponent::m_DataMapSize = 0

◆ m_JsonProperties

nlohmann::json MissingComponent::m_JsonProperties

◆ m_ClassName

std::string MissingComponent::m_ClassName

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