2
0

BsScriptHandleSliderDisc.h 1.8 KB

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