//********************************** Banshee Engine (www.banshee3d.com) **************************************************// //**************** Copyright (c) 2016 Marko Pintera (marko.pintera@gmail.com). All rights reserved. **********************// #pragma once #include "BsScriptEnginePrerequisites.h" #include "Serialization/BsBinaryDiff.h" namespace bs { /** @addtogroup SBansheeEngine * @{ */ /** * Diff handler that performs RTTI object diff for managed objects. Managed objects require special diff handling since * their serialization works differently. */ class BS_SCR_BE_EXPORT ManagedDiff : public IDiff { protected: /** @copydoc IDiff::generateDiff(const SPtr&, const SPtr&, ObjectMap&) */ SPtr generateDiff(const SPtr& orgSerzObj, const SPtr& newSerzObj, ObjectMap& objectMap) override; /** * @copydoc IDiff::applyDiff(const SPtr&, const SPtr&, * DiffObjectMap&, Vector&) */ void applyDiff(const SPtr& object, const SPtr& serzDiff, DiffObjectMap& objectMap, Vector& diffCommands) override; }; /** @} */ }