BsScriptColorDistribution.generated.cpp 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  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_getMinGradient", (void*)&ScriptColorDistribution::Internal_getMinGradient);
  27. metaData.scriptClass->addInternalCall("Internal_getMaxGradient", (void*)&ScriptColorDistribution::Internal_getMaxGradient);
  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. if(scriptgradient != nullptr)
  61. tmpgradient = scriptgradient->getInternal();
  62. SPtr<ColorDistribution> instance = bs_shared_ptr_new<ColorDistribution>(*tmpgradient);
  63. new (bs_alloc<ScriptColorDistribution>())ScriptColorDistribution(managedInstance, instance);
  64. }
  65. void ScriptColorDistribution::Internal_ColorDistribution3(MonoObject* managedInstance, MonoObject* minGradient, MonoObject* maxGradient)
  66. {
  67. SPtr<ColorGradient> tmpminGradient;
  68. ScriptColorGradient* scriptminGradient;
  69. scriptminGradient = ScriptColorGradient::toNative(minGradient);
  70. if(scriptminGradient != nullptr)
  71. tmpminGradient = scriptminGradient->getInternal();
  72. SPtr<ColorGradient> tmpmaxGradient;
  73. ScriptColorGradient* scriptmaxGradient;
  74. scriptmaxGradient = ScriptColorGradient::toNative(maxGradient);
  75. if(scriptmaxGradient != nullptr)
  76. tmpmaxGradient = scriptmaxGradient->getInternal();
  77. SPtr<ColorDistribution> instance = bs_shared_ptr_new<ColorDistribution>(*tmpminGradient, *tmpmaxGradient);
  78. new (bs_alloc<ScriptColorDistribution>())ScriptColorDistribution(managedInstance, instance);
  79. }
  80. PropertyDistributionType ScriptColorDistribution::Internal_getType(ScriptColorDistribution* thisPtr)
  81. {
  82. PropertyDistributionType tmp__output;
  83. tmp__output = thisPtr->getInternal()->getType();
  84. PropertyDistributionType __output;
  85. __output = tmp__output;
  86. return __output;
  87. }
  88. void ScriptColorDistribution::Internal_getMinConstant(ScriptColorDistribution* thisPtr, Color* __output)
  89. {
  90. Color tmp__output;
  91. tmp__output = thisPtr->getInternal()->getMinConstant();
  92. *__output = tmp__output;
  93. }
  94. void ScriptColorDistribution::Internal_getMaxConstant(ScriptColorDistribution* thisPtr, Color* __output)
  95. {
  96. Color tmp__output;
  97. tmp__output = thisPtr->getInternal()->getMaxConstant();
  98. *__output = tmp__output;
  99. }
  100. MonoObject* ScriptColorDistribution::Internal_getMinGradient(ScriptColorDistribution* thisPtr)
  101. {
  102. SPtr<ColorGradient> tmp__output = bs_shared_ptr_new<ColorGradient>();
  103. *tmp__output = thisPtr->getInternal()->getMinGradient();
  104. MonoObject* __output;
  105. __output = ScriptColorGradient::create(tmp__output);
  106. return __output;
  107. }
  108. MonoObject* ScriptColorDistribution::Internal_getMaxGradient(ScriptColorDistribution* thisPtr)
  109. {
  110. SPtr<ColorGradient> tmp__output = bs_shared_ptr_new<ColorGradient>();
  111. *tmp__output = thisPtr->getInternal()->getMaxGradient();
  112. MonoObject* __output;
  113. __output = ScriptColorGradient::create(tmp__output);
  114. return __output;
  115. }
  116. void ScriptColorDistribution::Internal_evaluate(ScriptColorDistribution* thisPtr, float t, float factor, Color* __output)
  117. {
  118. Color tmp__output;
  119. tmp__output = ColorDistributionEx::evaluate(thisPtr->getInternal(), t, factor);
  120. *__output = tmp__output;
  121. }
  122. void ScriptColorDistribution::Internal_evaluate0(ScriptColorDistribution* thisPtr, float t, MonoObject** factor, Color* __output)
  123. {
  124. SPtr<Random> tmpfactor = bs_shared_ptr_new<Random>();
  125. Color tmp__output;
  126. tmp__output = ColorDistributionEx::evaluate(thisPtr->getInternal(), t, *tmpfactor);
  127. MonoUtil::referenceCopy(factor, ScriptRandom::create(tmpfactor));
  128. *__output = tmp__output;
  129. }
  130. }