Rebel Fork Framework
|
Reflection of a class derived from Object. More...
#include <Urho3D/Core/ObjectReflection.h>
Public Types | |
using | ObjectFactoryCallback = SharedPtr< Object >(*)(const TypeInfo *typeInfo, Context *context) |
Public Member Functions | |
ObjectReflection (Context *context, const TypeInfo *typeInfo) | |
ObjectReflection (Context *context, ea::unique_ptr< TypeInfo > typeInfo) | |
Factory management | |
void | SetObjectFactory (ObjectFactoryCallback callback) |
template<class T > | |
void | SetObjectFactory () |
SharedPtr< Object > | CreateObject () |
bool | HasObjectFactory () const |
Category management | |
void | SetCategory (ea::string_view category) |
const ea::string & | GetCategory () const |
Return type info | |
const TypeInfo * | GetTypeInfo () const |
const ea::string & | GetTypeName () const |
StringHash | GetTypeNameHash () const |
Modify attributes | |
AttributeHandle | AddAttribute (const AttributeInfo &attr) |
void | RemoveAttribute (StringHash nameHash) |
void | RemoveAllAttributes () |
void | CopyAttributesFrom (const ObjectReflection *other) |
void | UpdateAttributeDefaultValue (StringHash nameHash, const Variant &defaultValue) |
Return attributes | |
unsigned | GetAttributeIndex (StringHash nameHash) const |
unsigned | GetAttributeIndex (StringHash nameHash, unsigned hintIndex) const |
AttributeInfo * | GetAttribute (StringHash nameHash) |
const AttributeInfo * | GetAttribute (StringHash nameHash) const |
const AttributeInfo & | GetAttributeByIndex (unsigned index) const |
const ea::vector< AttributeInfo > & | GetAttributes () const |
unsigned | GetNumAttributes () const |
Metadata | |
void | SetMetadata (const StringHash &key, const Variant &value) |
const Variant & | GetMetadata (const StringHash &key) const |
template<class T > | |
T | GetMetadata (const StringHash &key) const |
void | SetScopeHint (AttributeScopeHint hint) |
AttributeScopeHint | GetScopeHint () const |
AttributeScopeHint | GetEffectiveScopeHint () const |
Public Member Functions inherited from Urho3D::RefCounted | |
RefCounted () | |
Construct. Allocate the reference count structure and set an initial self weak reference. | |
virtual | ~RefCounted () |
Destruct. Mark as expired and also delete the reference count structure if no outside weak references exist. | |
RefCounted (const RefCounted &rhs)=delete | |
Prevent copy construction. | |
RefCounted & | operator= (const RefCounted &rhs)=delete |
Prevent assignment. | |
int | AddRef () |
int | ReleaseRef () |
int | Refs () const |
int | WeakRefs () const |
RefCount * | RefCountPtr () const |
Return pointer to the reference count structure. | |
bool | HasScriptObject () const |
Return true if script runtime object wrapping this native object exists. | |
bool | IsScriptStrongRef () const |
Return true if script reference is strong. | |
Private Attributes | |
Context * | context_ {} |
const TypeInfo * | typeInfo_ {} |
Type info of reflected object. | |
ea::unique_ptr< TypeInfo > | ownedTypeInfo_ |
ObjectFactoryCallback | createObject_ {} |
ea::string | category_ |
Category of the object. | |
ea::unordered_map< StringHash, Variant > | metadata_ |
Reflection metadata. | |
AttributeScopeHint | scopeHint_ {} |
Scope hint for the entire object. | |
ea::vector< AttributeInfo > | attributes_ |
Attributes of the Serializable. | |
ea::vector< StringHash > | attributeNames_ |
Reflection of a class derived from Object.