// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved. #pragma once #include "Engine/Core/Collections/Dictionary.h" #include "Engine/Core/Types/Guid.h" #include "FlaxEngine.Gen.h" /// /// Object serialization modification base class. Allows to extend the serialization process by custom effects like object ids mapping. /// class FLAXENGINE_API ISerializeModifier { public: /// /// Number of engine build when data was serialized. Useful to upgrade data from the older storage format. /// uint32 EngineBuild; /// /// The object IDs mapping. Key is a serialized object id, value is mapped value to use. /// Dictionary IdsMapping; public: /// /// Initializes a new instance of the class. /// ISerializeModifier() : EngineBuild(FLAXENGINE_VERSION_BUILD) { } /// /// Initializes a new instance of the class. /// /// The engine build. ISerializeModifier(uint32 engineBuild) : EngineBuild(engineBuild) { } /// /// Finalizes an instance of the class. /// virtual ~ISerializeModifier() { } };