BsScriptSerializedDiff.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #pragma once
  4. #include "BsScriptEditorPrerequisites.h"
  5. #include "BsScriptObject.h"
  6. namespace bs
  7. {
  8. class ScriptSerializedObject;
  9. /** @addtogroup ScriptInteropEditor
  10. * @{
  11. */
  12. /** Interop class between C++ & CLR for SerializedDiff. */
  13. class BS_SCR_BED_EXPORT ScriptSerializedDiff : public ScriptObject <ScriptSerializedDiff>
  14. {
  15. public:
  16. SCRIPT_OBJ(EDITOR_ASSEMBLY, EDITOR_NS, "SerializedDiff")
  17. private:
  18. ScriptSerializedDiff(MonoObject* instance, const SPtr<IReflectable>& obj);
  19. SPtr<IReflectable> mSerializedDiff;
  20. /************************************************************************/
  21. /* CLR HOOKS */
  22. /************************************************************************/
  23. static MonoObject* internal_CreateDiff(ScriptSerializedObject* oldObj, ScriptSerializedObject* newObj);
  24. static void internal_ApplyDiff(ScriptSerializedDiff* thisPtr, MonoObject* obj);
  25. static bool internal_IsEmpty(ScriptSerializedDiff* thisPtr);
  26. };
  27. /** @} */
  28. }