|
| AZ_CLASS_ALLOCATOR (BehaviorContext, SystemAllocator) |
|
| AZ_TYPE_INFO_WITH_NAME_DECL (BehaviorContext) |
|
| AZ_RTTI_NO_TYPE_INFO_DECL () |
|
bool | IsTypeReflected (AZ::Uuid typeId) const override |
|
| ~BehaviorContext () |
|
template<class Function > |
GlobalMethodBuilder | Method (const char *name, Function f, BehaviorValues *defaultValues=nullptr, const char *dbgDesc=nullptr) |
|
template<class Function > |
GlobalMethodBuilder | Method (const char *name, Function f, const char *deprecatedName, BehaviorValues *defaultValues=nullptr, const char *dbgDesc=nullptr) |
| <
|
|
template<class Function > |
GlobalMethodBuilder | Method (const char *name, Function f, const BehaviorParameterOverridesArray< Function > &args, const char *dbgDesc=nullptr) |
| <
|
|
template<class Function > |
GlobalMethodBuilder | Method (const char *name, Function f, const char *deprecatedName, const BehaviorParameterOverridesArray< Function > &args, const char *dbgDesc=nullptr) |
|
template<class Getter , class Setter > |
GlobalPropertyBuilder | Property (const char *name, Getter getter, Setter setter) |
|
template<auto Value> |
BehaviorContext * | Enum (const char *name) |
| All enums are treated as the enum type.
|
|
template<auto Value, typename T = decltype(Value)> |
GlobalPropertyBuilder | EnumProperty (const char *name) |
|
template<class Getter > |
BehaviorContext * | Constant (const char *name, Getter getter) |
|
template<class Getter > |
GlobalPropertyBuilder | ConstantProperty (const char *name, Getter getter) |
|
template<class T > |
ClassBuilder< T > | Class (const char *name=nullptr) |
|
template<class T > |
EBusBuilder< T > | EBus (const char *name, const char *deprecatedName=nullptr, const char *toolTip=nullptr) |
|
template<class Value > |
BehaviorDefaultValuePtr | MakeDefaultValue (Value &&defaultValue) |
|
template<class... Values> |
BehaviorValues * | MakeDefaultValues (Values &&... values) |
|
const BehaviorMethod * | FindMethodByReflectedName (AZStd::string_view reflectedName) const |
|
const BehaviorProperty * | FindPropertyByReflectedName (AZStd::string_view reflectedName) const |
|
const BehaviorMethod * | FindGetterByReflectedName (AZStd::string_view reflectedName) const |
|
const BehaviorMethod * | FindSetterByReflectedName (AZStd::string_view reflectedName) const |
|
const BehaviorClass * | FindClassByReflectedName (AZStd::string_view reflectedName) const |
|
const BehaviorClass * | FindClassByTypeId (const AZ::TypeId &typeId) const |
|
const BehaviorEBus * | FindEBusByReflectedName (AZStd::string_view reflectedName) const |
|
template<class T > |
auto | Class (const char *name) -> ClassBuilder< T > |
|
template<class T > |
auto | EBus (const char *name, const char *deprecatedName, const char *toolTip) -> EBusBuilder< T > |
|
| AZ_TYPE_INFO_WITH_NAME_DECL (ReflectContext) |
|
| AZ_RTTI_NO_TYPE_INFO_DECL () |
|
void | EnableRemoveReflection () |
|
void | DisableRemoveReflection () |
|
bool | IsRemovingReflection () const |
|
bool | IsOnDemandTypeReflected (AZ::Uuid typeId) |
| Check if an OnDemandReflection type's typeid is already reflected.
|
|
virtual bool | IsTypeReflected (AZ::Uuid) const |
|
void | ExecuteQueuedOnDemandReflections () |
| Execute all queued OnDemandReflection calls.
|
|
BehaviorContext is used to reflect classes, methods and EBuses for runtime interaction. A typical consumer of this context and different scripting systems (i.e. Lua, Visual Script, etc.). Even though (as designed) there are overlaps between some context they have very different purpose and set of rules. For example SerializeContext, doesn't reflect any methods, it just reflects data fields that will be stored for initial object setup, it handles version conversion and so thing, this related to storing the object to a persistent storage. Behavior context, doesn't need to deal with versions as no data is stored, just methods for manipulating the object state.