JSON serializer for Asset<T>. More...
#include <AssetJsonSerializer.h>
Inherits AZ::BaseJsonSerializer.
Public Member Functions | |
AZ_RTTI (AssetJsonSerializer, "{9674F4F5-7989-44D7-9CAC-DBD494A0A922}", BaseJsonSerializer) | |
JsonSerializationResult::Result | Load (void *outputValue, const Uuid &outputValueTypeId, const rapidjson::Value &inputValue, JsonDeserializerContext &context) override |
JsonSerializationResult::Result | Store (rapidjson::Value &outputValue, const void *inputValue, const void *defaultValue, const Uuid &valueTypeId, JsonSerializerContext &context) override |
Public Member Functions inherited from AZ::BaseJsonSerializer | |
AZ_RTTI (BaseJsonSerializer, "{7291FFDC-D339-40B5-BB26-EA067A327B21}") | |
virtual JsonSerializationResult::Result | Load (void *outputValue, const Uuid &outputValueTypeId, const rapidjson::Value &inputValue, JsonDeserializerContext &context) |
virtual JsonSerializationResult::Result | Store (rapidjson::Value &outputValue, const void *inputValue, const void *defaultValue, const Uuid &valueTypeId, JsonSerializerContext &context) |
virtual OperationFlags | GetOperationsFlags () const |
Returns the operation flags which tells the Json Serialization how this custom json serializer can be used. | |
Public Attributes | |
AZ_CLASS_ALLOCATOR_DECL | |
Additional Inherited Members | |
Public Types inherited from AZ::BaseJsonSerializer | |
enum class | ContinuationFlags { None = 0 , ResolvePointer = 1 << 0 , ReplaceDefault = 1 << 1 , LoadAsNewInstance = 1 << 2 , IgnoreTypeSerializer = 1 << 3 } |
enum class | OperationFlags { None = 0 , ManualDefault = 1 << 0 , InitializeNewInstance = 1 << 1 } |
Protected Member Functions inherited from AZ::BaseJsonSerializer | |
JsonSerializationResult::ResultCode | ContinueLoading (void *object, const Uuid &typeId, const rapidjson::Value &value, JsonDeserializerContext &context, ContinuationFlags flags=ContinuationFlags::None) |
JsonSerializationResult::ResultCode | ContinueStoring (rapidjson::Value &output, const void *object, const void *defaultObject, const Uuid &typeId, JsonSerializerContext &context, ContinuationFlags flags=ContinuationFlags::None) |
JsonSerializationResult::ResultCode | LoadTypeId (Uuid &typeId, const rapidjson::Value &input, JsonDeserializerContext &context, const Uuid *baseTypeId=nullptr, bool *isExplicit=nullptr) |
JsonSerializationResult::ResultCode | StoreTypeId (rapidjson::Value &output, const Uuid &typeId, JsonSerializerContext &context) |
JsonSerializationResult::ResultCode | ContinueLoadingFromJsonObjectField (void *object, const Uuid &typeId, const rapidjson::Value &value, rapidjson::Value::StringRefType memberName, JsonDeserializerContext &context, ContinuationFlags flags=ContinuationFlags::None) |
Helper function similar to ContinueLoading, but loads the data as a member of 'value' rather than 'value' itself, if it exists. | |
JsonSerializationResult::ResultCode | ContinueStoringToJsonObjectField (rapidjson::Value &output, rapidjson::Value::StringRefType newMemberName, const void *object, const void *defaultObject, const Uuid &typeId, JsonSerializerContext &context, ContinuationFlags flags=ContinuationFlags::None) |
Helper function similar to ContinueStoring, but stores the data as a member of 'output' rather than overwriting 'output'. | |
bool | IsExplicitDefault (const rapidjson::Value &value) |
rapidjson::Value | GetExplicitDefault () |
JSON serializer for Asset<T>.
|
overridevirtual |
Note that the information for the Asset<T> will be loaded, but the asset data won't be loaded. After deserialization has completed it's up to the caller to queue the Asset<T> for loading with the AssetManager.
Reimplemented from AZ::BaseJsonSerializer.
|
overridevirtual |
Write the input value to a rapidjson value if the default value is not null and doesn't match the input value, otherwise an error is returned and sets the rapidjson value to a null value.
Reimplemented from AZ::BaseJsonSerializer.