BsScriptHandleSliderLine.cpp 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #include "BsScriptHandleSliderLine.h"
  4. #include "BsScriptMeta.h"
  5. #include "BsMonoField.h"
  6. #include "BsMonoClass.h"
  7. #include "BsMonoManager.h"
  8. namespace BansheeEngine
  9. {
  10. ScriptHandleSliderLine::ScriptHandleSliderLine(MonoObject* instance, const Vector3& direction, float length,
  11. bool fixedScale, UINT64 layer)
  12. :ScriptObject(instance), mSlider(nullptr)
  13. {
  14. mSlider = bs_new<HandleSliderLine>(direction, length, fixedScale, layer);
  15. }
  16. ScriptHandleSliderLine::~ScriptHandleSliderLine()
  17. {
  18. if (mSlider != nullptr)
  19. bs_delete(mSlider);
  20. }
  21. void ScriptHandleSliderLine::destroyInternal()
  22. {
  23. if (mSlider != nullptr)
  24. bs_delete(mSlider);
  25. mSlider = nullptr;
  26. }
  27. void ScriptHandleSliderLine::initRuntimeData()
  28. {
  29. metaData.scriptClass->addInternalCall("Internal_CreateInstance", &ScriptHandleSliderLine::internal_CreateInstance);
  30. metaData.scriptClass->addInternalCall("Internal_GetDelta", &ScriptHandleSliderLine::internal_GetDelta);
  31. }
  32. void ScriptHandleSliderLine::internal_CreateInstance(MonoObject* instance, Vector3* direction, float length,
  33. bool fixedScale, UINT64 layer)
  34. {
  35. ScriptHandleSliderLine* nativeInstance = new (bs_alloc<ScriptHandleSliderLine>())
  36. ScriptHandleSliderLine(instance, *direction, length, fixedScale, layer);
  37. }
  38. void ScriptHandleSliderLine::internal_GetDelta(ScriptHandleSliderLine* nativeInstance, float* value)
  39. {
  40. *value = nativeInstance->mSlider->getDelta();
  41. }
  42. }