BsScriptHandleSliderDisc.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #pragma once
  2. #include "BsScriptEditorPrerequisites.h"
  3. #include "BsScriptObject.h"
  4. #include "BsScriptHandleSlider.h"
  5. #include "BsHandleSliderDisc.h"
  6. #include "BsVector3.h"
  7. namespace BansheeEngine
  8. {
  9. /**
  10. * @brief Interop class between C++ & CLR for HandleSliderDisc.
  11. */
  12. class BS_SCR_BED_EXPORT ScriptHandleSliderDisc : public ScriptObject <ScriptHandleSliderDisc, ScriptHandleSliderBase>
  13. {
  14. public:
  15. SCRIPT_OBJ(EDITOR_ASSEMBLY, "BansheeEditor", "HandleSliderDisc")
  16. protected:
  17. /**
  18. * @copydoc ScriptHandleSliderBase::getSlider
  19. */
  20. virtual HandleSlider* getSlider() const override { return mSlider; }
  21. /**
  22. * @copydoc ScriptHandleSliderBase::destroyInternal
  23. */
  24. virtual void destroyInternal() override;
  25. private:
  26. ScriptHandleSliderDisc(MonoObject* instance, const Vector3& normal, float radius, bool fixedScale);
  27. ~ScriptHandleSliderDisc();
  28. HandleSliderDisc* mSlider;
  29. /************************************************************************/
  30. /* CLR HOOKS */
  31. /************************************************************************/
  32. static void internal_CreateInstance(MonoObject* instance, Vector3 normal, float radius, bool fixedScale);
  33. static void internal_GetDelta(ScriptHandleSliderDisc* nativeInstance, float* value);
  34. static void internal_GetStartAngle(ScriptHandleSliderDisc* nativeInstance, float* value);
  35. static void internal_SetCutoffPlane(ScriptHandleSliderDisc* nativeInstance, float value, bool enabled);
  36. };
  37. }