BsScriptUndoRedo.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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 BansheeEngine
  7. {
  8. /** @addtogroup ScriptInteropEditor
  9. * @{
  10. */
  11. /** Interop class between C++ & CLR for UndoRedo. */
  12. class BS_SCR_BED_EXPORT ScriptUndoRedo : public ScriptObject <ScriptUndoRedo>
  13. {
  14. public:
  15. SCRIPT_OBJ(EDITOR_ASSEMBLY, "BansheeEditor", "UndoRedo");
  16. private:
  17. ScriptUndoRedo(MonoObject* instance);
  18. /************************************************************************/
  19. /* CLR HOOKS */
  20. /************************************************************************/
  21. static void internal_Undo();
  22. static void internal_Redo();
  23. static void internal_PushGroup(MonoString* name);
  24. static void internal_PopGroup(MonoString* name);
  25. static UINT32 internal_GetTopCommandId();
  26. static void internal_PopCommand(UINT32 id);
  27. static void internal_RecordSO(ScriptSceneObject* soPtr, bool recordHierarchy, MonoString* description);
  28. static MonoObject* internal_CloneSO(ScriptSceneObject* soPtr, MonoString* description);
  29. static MonoArray* internal_CloneSOMulti(MonoArray* soPtrs, MonoString* description);
  30. static MonoObject* internal_Instantiate(ScriptPrefab* prefabPtr, MonoString* description);
  31. static MonoObject* internal_CreateSO(MonoString* name, MonoString* description);
  32. static void internal_DeleteSO(ScriptSceneObject* soPtr, MonoString* description);
  33. static void internal_ReparentSO(ScriptSceneObject* soPtr, ScriptSceneObject* parentSOPtr, MonoString* description);
  34. static void internal_ReparentSOMulti(MonoArray* soPtrs, ScriptSceneObject* parentSOPtr, MonoString* description);
  35. static void internal_BreakPrefab(ScriptSceneObject* soPtr, MonoString* description);
  36. };
  37. /** @} */
  38. }