BsScriptSceneViewHandler.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334
  1. #pragma once
  2. #include "BsScriptEditorPrerequisites.h"
  3. #include "BsScriptObject.h"
  4. namespace BansheeEngine
  5. {
  6. /**
  7. * @brief Interop class between C++ & CLR for SceneViewHandler.
  8. */
  9. class BS_SCR_BED_EXPORT ScriptSceneViewHandler : public ScriptObject < ScriptSceneViewHandler >
  10. {
  11. public:
  12. SCRIPT_OBJ(EDITOR_ASSEMBLY, "BansheeEditor", "SceneViewHandler")
  13. private:
  14. ScriptSceneViewHandler(MonoObject* object, EditorWidgetBase* parentWidget, const SPtr<CameraHandler>& camera);
  15. ~ScriptSceneViewHandler();
  16. SceneViewHandler* mHandler;
  17. /************************************************************************/
  18. /* CLR HOOKS */
  19. /************************************************************************/
  20. static void internal_Create(MonoObject* managedInstance, ScriptEditorWindow* parentWindow, ScriptCameraHandler* camera);
  21. static void internal_Update(ScriptSceneViewHandler* thisPtr);
  22. static void internal_UpdateHandle(ScriptSceneViewHandler* thisPtr, Vector2I inputPos, Vector2I inputDelta);
  23. static void internal_UpdateSelection(ScriptSceneViewHandler* thisPtr);
  24. static void internal_TrySelectHandle(ScriptSceneViewHandler* thisPtr, Vector2I inputPos);
  25. static bool internal_IsHandleActive(ScriptSceneViewHandler* thisPtr, Vector2I inputPos);
  26. static void internal_ClearHandleSelection(ScriptSceneViewHandler* thisPtr, Vector2I inputPos);
  27. static void internal_PickObject(ScriptSceneViewHandler* thisPtr, Vector2I inputPos, bool additive);
  28. };
  29. }