BsScriptGUIColorGradient.generated.cpp 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //************** Copyright (c) 2016-2019 Marko Pintera ([email protected]). All rights reserved. *******************//
  3. #include "BsScriptGUIColorGradient.generated.h"
  4. #include "BsMonoMethod.h"
  5. #include "BsMonoClass.h"
  6. #include "BsMonoUtil.h"
  7. #include "../../EditorCore/GUI/BsGUIColorGradient.h"
  8. #include "BsScriptColorGradient.generated.h"
  9. #include "../../EditorCore/GUI/BsGUIColorGradient.h"
  10. namespace bs
  11. {
  12. ScriptGUIColorGradient::onClickedThunkDef ScriptGUIColorGradient::onClickedThunk;
  13. ScriptGUIColorGradient::ScriptGUIColorGradient(MonoObject* managedInstance, GUIColorGradient* value)
  14. :TScriptGUIElement(managedInstance, value)
  15. {
  16. value->onClicked.connect(std::bind(&ScriptGUIColorGradient::onClicked, this));
  17. }
  18. void ScriptGUIColorGradient::initRuntimeData()
  19. {
  20. metaData.scriptClass->addInternalCall("Internal_setGradient", (void*)&ScriptGUIColorGradient::Internal_setGradient);
  21. metaData.scriptClass->addInternalCall("Internal_getGradient", (void*)&ScriptGUIColorGradient::Internal_getGradient);
  22. metaData.scriptClass->addInternalCall("Internal_create", (void*)&ScriptGUIColorGradient::Internal_create);
  23. onClickedThunk = (onClickedThunkDef)metaData.scriptClass->getMethodExact("Internal_onClicked", "")->getThunk();
  24. }
  25. void ScriptGUIColorGradient::onClicked()
  26. {
  27. MonoUtil::invokeThunk(onClickedThunk, getManagedInstance());
  28. }
  29. void ScriptGUIColorGradient::Internal_setGradient(ScriptGUIColorGradient* thisPtr, MonoObject* colorGradient)
  30. {
  31. SPtr<ColorGradient> tmpcolorGradient;
  32. ScriptColorGradient* scriptcolorGradient;
  33. scriptcolorGradient = ScriptColorGradient::toNative(colorGradient);
  34. if(scriptcolorGradient != nullptr)
  35. tmpcolorGradient = scriptcolorGradient->getInternal();
  36. static_cast<GUIColorGradient*>(thisPtr->getGUIElement())->setGradient(*tmpcolorGradient);
  37. }
  38. MonoObject* ScriptGUIColorGradient::Internal_getGradient(ScriptGUIColorGradient* thisPtr)
  39. {
  40. SPtr<ColorGradient> tmp__output = bs_shared_ptr_new<ColorGradient>();
  41. *tmp__output = static_cast<GUIColorGradient*>(thisPtr->getGUIElement())->getGradient();
  42. MonoObject* __output;
  43. __output = ScriptColorGradient::create(tmp__output);
  44. return __output;
  45. }
  46. void ScriptGUIColorGradient::Internal_create(MonoObject* managedInstance, MonoString* styleName)
  47. {
  48. String tmpstyleName;
  49. tmpstyleName = MonoUtil::monoToString(styleName);
  50. GUIColorGradient* instance = GUIColorGradient::create(tmpstyleName);
  51. new (bs_alloc<ScriptGUIColorGradient>())ScriptGUIColorGradient(managedInstance, instance);
  52. }
  53. }