BsScriptHandleSliderDisc.cpp 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #include "BsScriptHandleSliderDisc.h"
  2. #include "BsScriptMeta.h"
  3. #include "BsMonoField.h"
  4. #include "BsMonoClass.h"
  5. #include "BsMonoManager.h"
  6. namespace BansheeEngine
  7. {
  8. ScriptHandleSliderDisc::ScriptHandleSliderDisc(MonoObject* instance, const Vector3& normal, float radius, bool fixedScale, float snapValue)
  9. :ScriptObject(instance), mSlider(nullptr)
  10. {
  11. mSlider = bs_new<HandleSliderDisc>(normal, radius, fixedScale, snapValue);
  12. }
  13. ScriptHandleSliderDisc::~ScriptHandleSliderDisc()
  14. {
  15. bs_delete(mSlider);
  16. }
  17. void ScriptHandleSliderDisc::initRuntimeData()
  18. {
  19. metaData.scriptClass->addInternalCall("internal_CreateInstance", &ScriptHandleSliderDisc::internal_CreateInstance);
  20. metaData.scriptClass->addInternalCall("internal_GetDelta", &ScriptHandleSliderDisc::internal_GetDelta);
  21. metaData.scriptClass->addInternalCall("internal_GetDeltaDirection", &ScriptHandleSliderDisc::internal_GetDeltaDirection);
  22. metaData.scriptClass->addInternalCall("internal_GetNewRotation", &ScriptHandleSliderDisc::internal_GetNewRotation);
  23. }
  24. void ScriptHandleSliderDisc::internal_CreateInstance(MonoObject* instance, Vector3 normal, float radius, bool fixedScale, float snapValue)
  25. {
  26. ScriptHandleSliderDisc* nativeInstance = new (bs_alloc<ScriptHandleSliderDisc>())
  27. ScriptHandleSliderDisc(instance, normal, radius, fixedScale, snapValue);
  28. }
  29. void ScriptHandleSliderDisc::internal_GetDelta(ScriptHandleSliderDisc* nativeInstance, float* value)
  30. {
  31. *value = nativeInstance->mSlider->getDelta();
  32. }
  33. void ScriptHandleSliderDisc::internal_GetDeltaDirection(ScriptHandleSliderDisc* nativeInstance, Vector3* value)
  34. {
  35. *value = nativeInstance->mSlider->getDeltaDirection();
  36. }
  37. void ScriptHandleSliderDisc::internal_GetNewRotation(ScriptHandleSliderDisc* nativeInstance, Quaternion* value)
  38. {
  39. *value = nativeInstance->mSlider->getNewRotation();
  40. }
  41. }