| 1234567891011121314151617181920212223242526272829303132333435 |
- //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
- //**************** Copyright (c) 2016 Marko Pintera ([email protected]). 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<SerializedObject>&, const SPtr<SerializedObject>&, ObjectMap&) */
- SPtr<SerializedObject> generateDiff(const SPtr<SerializedObject>& orgSerzObj,
- const SPtr<SerializedObject>& newSerzObj, ObjectMap& objectMap) override;
- /**
- * @copydoc IDiff::applyDiff(const SPtr<IReflectable>&, const SPtr<SerializedObject>&,
- * FrameAlloc&, DiffObjectMap&, FrameVector<DiffCommand>&, SerializationContext*)
- */
- void applyDiff(const SPtr<IReflectable>& object, const SPtr<SerializedObject>& serzDiff,
- FrameAlloc& alloc, DiffObjectMap& objectMap, FrameVector<DiffCommand>& diffCommands,
- SerializationContext* context) override;
- };
- /** @} */
- }
|