BsScriptColorDistribution.generated.cpp 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. #include "BsScriptColorDistribution.generated.h"
  2. #include "BsMonoMethod.h"
  3. #include "BsMonoClass.h"
  4. #include "BsMonoUtil.h"
  5. #include "../../../bsf/Source/Foundation/bsfCore/Particles/BsParticleDistribution.h"
  6. #include "BsScriptColorGradient.generated.h"
  7. #include "Wrappers/BsScriptColor.h"
  8. #include "BsScriptRandom.generated.h"
  9. #include "../../SBansheeEngine/Extensions/BsParticleDistributionEx.h"
  10. namespace bs
  11. {
  12. ScriptColorDistribution::ScriptColorDistribution(MonoObject* managedInstance, const SPtr<ColorDistribution>& value)
  13. :ScriptObject(managedInstance), mInternal(value)
  14. {
  15. }
  16. void ScriptColorDistribution::initRuntimeData()
  17. {
  18. metaData.scriptClass->addInternalCall("Internal_ColorDistribution", (void*)&ScriptColorDistribution::Internal_ColorDistribution);
  19. metaData.scriptClass->addInternalCall("Internal_ColorDistribution0", (void*)&ScriptColorDistribution::Internal_ColorDistribution0);
  20. metaData.scriptClass->addInternalCall("Internal_ColorDistribution1", (void*)&ScriptColorDistribution::Internal_ColorDistribution1);
  21. metaData.scriptClass->addInternalCall("Internal_ColorDistribution2", (void*)&ScriptColorDistribution::Internal_ColorDistribution2);
  22. metaData.scriptClass->addInternalCall("Internal_ColorDistribution3", (void*)&ScriptColorDistribution::Internal_ColorDistribution3);
  23. metaData.scriptClass->addInternalCall("Internal_getType", (void*)&ScriptColorDistribution::Internal_getType);
  24. metaData.scriptClass->addInternalCall("Internal_getMinConstant", (void*)&ScriptColorDistribution::Internal_getMinConstant);
  25. metaData.scriptClass->addInternalCall("Internal_getMaxConstant", (void*)&ScriptColorDistribution::Internal_getMaxConstant);
  26. metaData.scriptClass->addInternalCall("Internal_getMinCurve", (void*)&ScriptColorDistribution::Internal_getMinCurve);
  27. metaData.scriptClass->addInternalCall("Internal_getMaxCurve", (void*)&ScriptColorDistribution::Internal_getMaxCurve);
  28. metaData.scriptClass->addInternalCall("Internal_evaluate", (void*)&ScriptColorDistribution::Internal_evaluate);
  29. metaData.scriptClass->addInternalCall("Internal_evaluate0", (void*)&ScriptColorDistribution::Internal_evaluate0);
  30. }
  31. MonoObject* ScriptColorDistribution::create(const SPtr<ColorDistribution>& value)
  32. {
  33. if(value == nullptr) return nullptr;
  34. bool dummy = false;
  35. void* ctorParams[1] = { &dummy };
  36. MonoObject* managedInstance = metaData.scriptClass->createInstance("bool", ctorParams);
  37. new (bs_alloc<ScriptColorDistribution>()) ScriptColorDistribution(managedInstance, value);
  38. return managedInstance;
  39. }
  40. void ScriptColorDistribution::Internal_ColorDistribution(MonoObject* managedInstance)
  41. {
  42. SPtr<ColorDistribution> instance = bs_shared_ptr_new<ColorDistribution>();
  43. new (bs_alloc<ScriptColorDistribution>())ScriptColorDistribution(managedInstance, instance);
  44. }
  45. void ScriptColorDistribution::Internal_ColorDistribution0(MonoObject* managedInstance, Color* color)
  46. {
  47. SPtr<ColorDistribution> instance = bs_shared_ptr_new<ColorDistribution>(*color);
  48. new (bs_alloc<ScriptColorDistribution>())ScriptColorDistribution(managedInstance, instance);
  49. }
  50. void ScriptColorDistribution::Internal_ColorDistribution1(MonoObject* managedInstance, Color* minColor, Color* maxColor)
  51. {
  52. SPtr<ColorDistribution> instance = bs_shared_ptr_new<ColorDistribution>(*minColor, *maxColor);
  53. new (bs_alloc<ScriptColorDistribution>())ScriptColorDistribution(managedInstance, instance);
  54. }
  55. void ScriptColorDistribution::Internal_ColorDistribution2(MonoObject* managedInstance, MonoObject* gradient)
  56. {
  57. SPtr<ColorGradient> tmpgradient;
  58. ScriptColorGradient* scriptgradient;
  59. scriptgradient = ScriptColorGradient::toNative(gradient);
  60. tmpgradient = scriptgradient->getInternal();
  61. SPtr<ColorDistribution> instance = bs_shared_ptr_new<ColorDistribution>(*tmpgradient);
  62. new (bs_alloc<ScriptColorDistribution>())ScriptColorDistribution(managedInstance, instance);
  63. }
  64. void ScriptColorDistribution::Internal_ColorDistribution3(MonoObject* managedInstance, MonoObject* minGradient, MonoObject* maxGradient)
  65. {
  66. SPtr<ColorGradient> tmpminGradient;
  67. ScriptColorGradient* scriptminGradient;
  68. scriptminGradient = ScriptColorGradient::toNative(minGradient);
  69. tmpminGradient = scriptminGradient->getInternal();
  70. SPtr<ColorGradient> tmpmaxGradient;
  71. ScriptColorGradient* scriptmaxGradient;
  72. scriptmaxGradient = ScriptColorGradient::toNative(maxGradient);
  73. tmpmaxGradient = scriptmaxGradient->getInternal();
  74. SPtr<ColorDistribution> instance = bs_shared_ptr_new<ColorDistribution>(*tmpminGradient, *tmpmaxGradient);
  75. new (bs_alloc<ScriptColorDistribution>())ScriptColorDistribution(managedInstance, instance);
  76. }
  77. PropertyDistributionType ScriptColorDistribution::Internal_getType(ScriptColorDistribution* thisPtr)
  78. {
  79. PropertyDistributionType tmp__output;
  80. tmp__output = thisPtr->getInternal()->getType();
  81. PropertyDistributionType __output;
  82. __output = tmp__output;
  83. return __output;
  84. }
  85. void ScriptColorDistribution::Internal_getMinConstant(ScriptColorDistribution* thisPtr, Color* __output)
  86. {
  87. Color tmp__output;
  88. tmp__output = thisPtr->getInternal()->getMinConstant();
  89. *__output = tmp__output;
  90. }
  91. void ScriptColorDistribution::Internal_getMaxConstant(ScriptColorDistribution* thisPtr, Color* __output)
  92. {
  93. Color tmp__output;
  94. tmp__output = thisPtr->getInternal()->getMaxConstant();
  95. *__output = tmp__output;
  96. }
  97. MonoObject* ScriptColorDistribution::Internal_getMinCurve(ScriptColorDistribution* thisPtr)
  98. {
  99. SPtr<ColorGradient> tmp__output = bs_shared_ptr_new<ColorGradient>();
  100. *tmp__output = thisPtr->getInternal()->getMinCurve();
  101. MonoObject* __output;
  102. __output = ScriptColorGradient::create(tmp__output);
  103. return __output;
  104. }
  105. MonoObject* ScriptColorDistribution::Internal_getMaxCurve(ScriptColorDistribution* thisPtr)
  106. {
  107. SPtr<ColorGradient> tmp__output = bs_shared_ptr_new<ColorGradient>();
  108. *tmp__output = thisPtr->getInternal()->getMaxCurve();
  109. MonoObject* __output;
  110. __output = ScriptColorGradient::create(tmp__output);
  111. return __output;
  112. }
  113. void ScriptColorDistribution::Internal_evaluate(ScriptColorDistribution* thisPtr, float t, float factor, Color* __output)
  114. {
  115. Color tmp__output;
  116. tmp__output = ColorDistributionEx::evaluate(thisPtr->getInternal(), t, factor);
  117. *__output = tmp__output;
  118. }
  119. void ScriptColorDistribution::Internal_evaluate0(ScriptColorDistribution* thisPtr, float t, MonoObject** factor, Color* __output)
  120. {
  121. SPtr<Random> tmpfactor = bs_shared_ptr_new<Random>();
  122. Color tmp__output;
  123. tmp__output = ColorDistributionEx::evaluate(thisPtr->getInternal(), t, *tmpfactor);
  124. MonoUtil::referenceCopy(factor, ScriptRandom::create(tmpfactor));
  125. *__output = tmp__output;
  126. }
  127. }