BsScriptColorGradient.generated.cpp 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. #include "BsScriptColorGradient.generated.h"
  2. #include "BsMonoMethod.h"
  3. #include "BsMonoClass.h"
  4. #include "BsMonoUtil.h"
  5. #include "../../../bsf/Source/Foundation/bsfUtility/Image/BsColorGradient.h"
  6. #include "Wrappers/BsScriptColor.h"
  7. #include "BsScriptColorGradientKey.generated.h"
  8. #include "../../SBansheeEngine/Extensions/BsColorGradientEx.h"
  9. namespace bs
  10. {
  11. ScriptColorGradient::ScriptColorGradient(MonoObject* managedInstance, const SPtr<ColorGradient>& value)
  12. :ScriptObject(managedInstance), mInternal(value)
  13. {
  14. }
  15. void ScriptColorGradient::initRuntimeData()
  16. {
  17. metaData.scriptClass->addInternalCall("Internal_ColorGradient", (void*)&ScriptColorGradient::Internal_ColorGradient);
  18. metaData.scriptClass->addInternalCall("Internal_ColorGradient0", (void*)&ScriptColorGradient::Internal_ColorGradient0);
  19. metaData.scriptClass->addInternalCall("Internal_ColorGradient1", (void*)&ScriptColorGradient::Internal_ColorGradient1);
  20. metaData.scriptClass->addInternalCall("Internal_setKeys", (void*)&ScriptColorGradient::Internal_setKeys);
  21. metaData.scriptClass->addInternalCall("Internal_getKeys", (void*)&ScriptColorGradient::Internal_getKeys);
  22. metaData.scriptClass->addInternalCall("Internal_getNumKeys", (void*)&ScriptColorGradient::Internal_getNumKeys);
  23. metaData.scriptClass->addInternalCall("Internal_getKey", (void*)&ScriptColorGradient::Internal_getKey);
  24. metaData.scriptClass->addInternalCall("Internal_setConstant", (void*)&ScriptColorGradient::Internal_setConstant);
  25. metaData.scriptClass->addInternalCall("Internal_evaluate", (void*)&ScriptColorGradient::Internal_evaluate);
  26. }
  27. MonoObject* ScriptColorGradient::create(const SPtr<ColorGradient>& value)
  28. {
  29. if(value == nullptr) return nullptr;
  30. bool dummy = false;
  31. void* ctorParams[1] = { &dummy };
  32. MonoObject* managedInstance = metaData.scriptClass->createInstance("bool", ctorParams);
  33. new (bs_alloc<ScriptColorGradient>()) ScriptColorGradient(managedInstance, value);
  34. return managedInstance;
  35. }
  36. void ScriptColorGradient::Internal_ColorGradient(MonoObject* managedInstance)
  37. {
  38. SPtr<ColorGradient> instance = bs_shared_ptr_new<ColorGradient>();
  39. new (bs_alloc<ScriptColorGradient>())ScriptColorGradient(managedInstance, instance);
  40. }
  41. void ScriptColorGradient::Internal_ColorGradient0(MonoObject* managedInstance, Color* color)
  42. {
  43. SPtr<ColorGradient> instance = bs_shared_ptr_new<ColorGradient>(*color);
  44. new (bs_alloc<ScriptColorGradient>())ScriptColorGradient(managedInstance, instance);
  45. }
  46. void ScriptColorGradient::Internal_ColorGradient1(MonoObject* managedInstance, MonoArray* keys)
  47. {
  48. Vector<ColorGradientKey> veckeys;
  49. if(keys != nullptr)
  50. {
  51. ScriptArray arraykeys(keys);
  52. veckeys.resize(arraykeys.size());
  53. for(int i = 0; i < (int)arraykeys.size(); i++)
  54. {
  55. veckeys[i] = ScriptColorGradientKey::fromInterop(arraykeys.get<__ColorGradientKeyInterop>(i));
  56. }
  57. }
  58. SPtr<ColorGradient> instance = bs_shared_ptr_new<ColorGradient>(veckeys);
  59. new (bs_alloc<ScriptColorGradient>())ScriptColorGradient(managedInstance, instance);
  60. }
  61. void ScriptColorGradient::Internal_setKeys(ScriptColorGradient* thisPtr, MonoArray* keys, float duration)
  62. {
  63. Vector<ColorGradientKey> veckeys;
  64. if(keys != nullptr)
  65. {
  66. ScriptArray arraykeys(keys);
  67. veckeys.resize(arraykeys.size());
  68. for(int i = 0; i < (int)arraykeys.size(); i++)
  69. {
  70. veckeys[i] = ScriptColorGradientKey::fromInterop(arraykeys.get<__ColorGradientKeyInterop>(i));
  71. }
  72. }
  73. thisPtr->getInternal()->setKeys(veckeys, duration);
  74. }
  75. MonoArray* ScriptColorGradient::Internal_getKeys(ScriptColorGradient* thisPtr)
  76. {
  77. Vector<ColorGradientKey> vec__output;
  78. vec__output = thisPtr->getInternal()->getKeys();
  79. MonoArray* __output;
  80. int arraySize__output = (int)vec__output.size();
  81. ScriptArray array__output = ScriptArray::create<ScriptColorGradientKey>(arraySize__output);
  82. for(int i = 0; i < arraySize__output; i++)
  83. {
  84. array__output.set(i, ScriptColorGradientKey::toInterop(vec__output[i]));
  85. }
  86. __output = array__output.getInternal();
  87. return __output;
  88. }
  89. uint32_t ScriptColorGradient::Internal_getNumKeys(ScriptColorGradient* thisPtr)
  90. {
  91. uint32_t tmp__output;
  92. tmp__output = thisPtr->getInternal()->getNumKeys();
  93. uint32_t __output;
  94. __output = tmp__output;
  95. return __output;
  96. }
  97. void ScriptColorGradient::Internal_getKey(ScriptColorGradient* thisPtr, uint32_t idx, __ColorGradientKeyInterop* __output)
  98. {
  99. ColorGradientKey tmp__output;
  100. tmp__output = thisPtr->getInternal()->getKey(idx);
  101. __ColorGradientKeyInterop interop__output;
  102. interop__output = ScriptColorGradientKey::toInterop(tmp__output);
  103. MonoUtil::valueCopy(__output, &interop__output, ScriptColorGradientKey::getMetaData()->scriptClass->_getInternalClass());
  104. }
  105. void ScriptColorGradient::Internal_setConstant(ScriptColorGradient* thisPtr, Color* color)
  106. {
  107. thisPtr->getInternal()->setConstant(*color);
  108. }
  109. void ScriptColorGradient::Internal_evaluate(ScriptColorGradient* thisPtr, float t, Color* __output)
  110. {
  111. Color tmp__output;
  112. tmp__output = ColorGradientEx::evaluate(thisPtr->getInternal(), t);
  113. *__output = tmp__output;
  114. }
  115. }