BsScriptHandleSliderLine.cpp 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #include "BsScriptHandleSliderLine.h"
  2. #include "BsScriptMeta.h"
  3. #include "BsMonoField.h"
  4. #include "BsMonoClass.h"
  5. #include "BsMonoManager.h"
  6. namespace BansheeEngine
  7. {
  8. ScriptHandleSliderLine::ScriptHandleSliderLine(MonoObject* instance, const Vector3& direction, float length, bool fixedScale, float snapValue)
  9. :ScriptObject(instance), mSlider(nullptr)
  10. {
  11. mSlider = bs_new<HandleSliderLine>(direction, length, fixedScale, snapValue);
  12. }
  13. ScriptHandleSliderLine::~ScriptHandleSliderLine()
  14. {
  15. bs_delete(mSlider);
  16. }
  17. void ScriptHandleSliderLine::initRuntimeData()
  18. {
  19. metaData.scriptClass->addInternalCall("internal_CreateInstance", &ScriptHandleSliderLine::internal_CreateInstance);
  20. metaData.scriptClass->addInternalCall("internal_GetDelta", &ScriptHandleSliderLine::internal_GetDelta);
  21. metaData.scriptClass->addInternalCall("internal_GetNewPosition", &ScriptHandleSliderLine::internal_GetNewPosition);
  22. }
  23. void ScriptHandleSliderLine::internal_CreateInstance(MonoObject* instance, Vector3 direction, float length, bool fixedScale, float snapValue)
  24. {
  25. ScriptHandleSliderLine* nativeInstance = new (bs_alloc<ScriptHandleSliderLine>())
  26. ScriptHandleSliderLine(instance, direction, length, fixedScale, snapValue);
  27. }
  28. void ScriptHandleSliderLine::internal_GetDelta(ScriptHandleSliderLine* nativeInstance, float* value)
  29. {
  30. *value = nativeInstance->mSlider->getDelta();
  31. }
  32. void ScriptHandleSliderLine::internal_GetNewPosition(ScriptHandleSliderLine* nativeInstance, Vector3* value)
  33. {
  34. *value = nativeInstance->mSlider->getNewPosition();
  35. }
  36. }