BsScriptHandleSliderPlane.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/BsScriptHandleSliderPlane.h"
  4. #include "BsScriptMeta.h"
  5. #include "BsMonoField.h"
  6. #include "BsMonoClass.h"
  7. #include "BsMonoManager.h"
  8. namespace bs
  9. {
  10. ScriptHandleSliderPlane::ScriptHandleSliderPlane(MonoObject* instance, const Vector3& dir1, const Vector3& dir2,
  11. float length, bool fixedScale, UINT64 layer)
  12. :ScriptObject(instance), mSlider(nullptr)
  13. {
  14. mSlider = bs_new<HandleSliderPlane>(dir1, dir2, length, fixedScale, layer);
  15. }
  16. ScriptHandleSliderPlane::~ScriptHandleSliderPlane()
  17. {
  18. if (mSlider != nullptr)
  19. bs_delete(mSlider);
  20. }
  21. void ScriptHandleSliderPlane::destroyInternal()
  22. {
  23. if (mSlider != nullptr)
  24. bs_delete(mSlider);
  25. mSlider = nullptr;
  26. }
  27. void ScriptHandleSliderPlane::initRuntimeData()
  28. {
  29. metaData.scriptClass->addInternalCall("Internal_CreateInstance", (void*)&ScriptHandleSliderPlane::internal_CreateInstance);
  30. metaData.scriptClass->addInternalCall("Internal_GetDelta", (void*)&ScriptHandleSliderPlane::internal_GetDelta);
  31. }
  32. void ScriptHandleSliderPlane::internal_CreateInstance(MonoObject* instance, Vector3* dir1, Vector3* dir2,
  33. float length, bool fixedScale, UINT64 layer)
  34. {
  35. new (bs_alloc<ScriptHandleSliderPlane>()) ScriptHandleSliderPlane(instance, *dir1, *dir2, length, fixedScale, layer);
  36. }
  37. void ScriptHandleSliderPlane::internal_GetDelta(ScriptHandleSliderPlane* nativeInstance, Vector2* value)
  38. {
  39. *value = nativeInstance->mSlider->getDelta();
  40. }
  41. }