BsScriptSerializedSceneObject.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  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. #include "Utility/BsEditorUtility.h"
  7. namespace bs
  8. {
  9. /** @addtogroup ScriptInteropEditor
  10. * @{
  11. */
  12. /** Interop class between C++ & CLR for SerializedSceneObject. */
  13. class BS_SCR_BED_EXPORT ScriptSerializedSceneObject : public ScriptObject <ScriptSerializedSceneObject>
  14. {
  15. public:
  16. SCRIPT_OBJ(EDITOR_ASSEMBLY, EDITOR_NS, "SerializedSceneObject")
  17. private:
  18. ScriptSerializedSceneObject(MonoObject* instance, const HSceneObject& so, bool recordHierarchy);
  19. ~ScriptSerializedSceneObject();
  20. HSceneObject mSO;
  21. EditorUtility::SceneObjProxy mSceneObjectProxy;
  22. bool mRecordHierarchy;
  23. UINT8* mSerializedObject;
  24. UINT32 mSerializedObjectSize;
  25. /************************************************************************/
  26. /* CLR HOOKS */
  27. /************************************************************************/
  28. static void internal_CreateInstance(MonoObject* instance, ScriptSceneObject* so, bool hierarchy);
  29. static void internal_Restore(ScriptSerializedSceneObject* thisPtr);
  30. };
  31. /** @} */
  32. }