BsScriptHandleSlider2D.cpp 1.6 KB

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