An abstract to marshal between Behavior and Python type values. More...
#include <PythonMarshalComponent.h>
Inherits AZ::EBusTraits.
Public Types | |
using | BusIdType = AZ::TypeId |
using | DeallocateFunction = Convert::VariableDeleter |
using | BehaviorTraits = AZ::BehaviorParameter::Traits |
using | BehaviorValueResult = AZStd::pair< bool, DeallocateFunction > |
using | PythonValueResult = AZStd::pair< pybind11::object, DeallocateFunction > |
Public Member Functions | |
virtual AZStd::optional< BehaviorValueResult > | PythonToBehaviorValueParameter (BehaviorTraits traits, pybind11::object pyObj, AZ::BehaviorArgument &outValue)=0 |
virtual AZStd::optional< PythonValueResult > | BehaviorValueParameterToPython (AZ::BehaviorArgument &behaviorValue)=0 |
virtual bool | CanConvertPythonToBehaviorValue (BehaviorTraits traits, pybind11::object pyObj) const =0 |
Validates that a particular Python object can convert into a Behavior value parameter type. | |
Static Public Attributes | |
static const AZ::EBusHandlerPolicy | HandlerPolicy = AZ::EBusHandlerPolicy::Multiple |
static const AZ::EBusAddressPolicy | AddressPolicy = AZ::EBusAddressPolicy::ById |
An abstract to marshal between Behavior and Python type values.
using EditorPythonBindings::PythonMarshalTypeRequests::BehaviorValueResult = AZStd::pair<bool, DeallocateFunction> |
Marshals a Python value to a BehaviorArgument plus an optional function to deallocate it after usage
using EditorPythonBindings::PythonMarshalTypeRequests::PythonValueResult = AZStd::pair<pybind11::object, DeallocateFunction> |
Marshals a BehaviorArgument to a Python value object