Class base for working with il2cpp properties. More...
#include <PropertyBase.hpp>
Public Member Functions | |
constexpr | PropertyBase () noexcept=default |
Create empty property base. | |
PropertyBase (const PropertyBase &other)=default | |
Copy property. | |
PropertyBase (const IL2CPP::PropertyInfo *info) | |
Create property from il2cpp property. | |
PropertyBase & | SetInstance (IL2CPP::Il2CppObject *val) |
Set property instance if it's non-static. | |
PropertyBase & | operator[] (void *instance) |
Operator for setting instance. | |
PropertyBase & | operator[] (IL2CPP::Il2CppObject *instance) |
Operator for setting instance. | |
PropertyBase & | operator[] (UnityEngine::Object *instance) |
Operator for setting instance. | |
bool | IsValid () const noexcept |
Check if property is valid. | |
std::string | str () const |
Get full property name. | |
template<typename NewRet> | |
Property< NewRet > & | cast () const |
Cast event to be able to get and set it. | |
Public Attributes | |
IL2CPP::PropertyInfo * | _data {} |
MethodBase | _getter {} |
MethodBase | _setter {} |
uint8_t | _hasGetter: 1 = false |
uint8_t | _hasSetter: 1 = false |
Class base for working with il2cpp properties.
This class provides fields and some basic functions to allow toget and set properties.
|
inlinedefault |
Copy property.
other | Other property |
BNM::PropertyBase::PropertyBase | ( | const IL2CPP::PropertyInfo * | info | ) |
Create property from il2cpp property.
info | Il2cpp property |
|
inlinenoexcept |
Check if property is valid.
|
inline |
|
inline |
|
inline |
PropertyBase & BNM::PropertyBase::SetInstance | ( | IL2CPP::Il2CppObject * | val | ) |
Set property instance if it's non-static.
instance | Instance |
|
inlinenodiscard |
Get full property name.
Returns string with full property name: ClassFullName.(property name){getter: exists/not exist, setter: exists/not exist} (static)/nothing