BsScriptHandleSliderPlane.cpp 1.5 KB

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