Plasma Engine  2.0
Loading...
Searching...
No Matches
PhantomRtti.h
1#pragma once
2
3#include <Foundation/Reflection/Reflection.h>
4#include <ToolsFoundation/Reflection/ReflectedType.h>
5
6class plPhantomRTTI : public plRTTI
7{
8 friend class plPhantomRttiManager;
9
10public:
12
13private:
14 plPhantomRTTI(plStringView sName, const plRTTI* pParentType, plUInt32 uiTypeSize, plUInt32 uiTypeVersion, plUInt8 uiVariantType,
15 plBitflags<plTypeFlags> flags, plStringView sPluginName);
16
17 void SetProperties(plDynamicArray<plReflectedPropertyDescriptor>& properties);
18 void SetFunctions(plDynamicArray<plReflectedFunctionDescriptor>& functions);
19 void SetAttributes(plDynamicArray<const plPropertyAttribute*>& attributes);
20 bool IsEqualToDescriptor(const plReflectedTypeDescriptor& desc);
21
22 void UpdateType(plReflectedTypeDescriptor& desc);
23
24private:
25 plString m_sTypeNameStorage;
26 plString m_sPluginNameStorage;
27 plDynamicArray<plAbstractProperty*> m_PropertiesStorage;
30};
Definition DynamicArray.h:81
Definition PhantomRtti.h:7
Manages all plPhantomRTTI types that have been added to him.
Definition PhantomRttiManager.h:31
This class holds information about reflected types. Each instance represents one type that is known t...
Definition RTTI.h:30
plStringView represent a read-only sub-string of a larger string, as it can store a dedicated string ...
Definition StringView.h:34
The plBitflags class allows you to work with type-safe bitflags.
Definition Bitflags.h:82
Stores the description of a reflected type in a serializable form. Used by plPhantomRttiManager to ad...
Definition ReflectedType.h:95