BsScriptHandleSliderLine.cpp 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #include "Wrappers/BsScriptHandleSliderLine.h"
  4. #include "BsScriptMeta.h"
  5. #include "BsMonoField.h"
  6. #include "BsMonoClass.h"
  7. #include "BsMonoManager.h"
  8. namespace bs
  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", (void*)&ScriptHandleSliderLine::internal_CreateInstance);
  30. metaData.scriptClass->addInternalCall("Internal_GetDelta", (void*)&ScriptHandleSliderLine::internal_GetDelta);
  31. }
  32. void ScriptHandleSliderLine::internal_CreateInstance(MonoObject* instance, Vector3* direction, float length,
  33. bool fixedScale, UINT64 layer)
  34. {
  35. new (bs_alloc<ScriptHandleSliderLine>()) ScriptHandleSliderLine(instance, *direction, length, fixedScale, layer);
  36. }
  37. void ScriptHandleSliderLine::internal_GetDelta(ScriptHandleSliderLine* nativeInstance, float* value)
  38. {
  39. *value = nativeInstance->mSlider->getDelta();
  40. }
  41. }