BsScriptShader.generated.cpp 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #include "BsScriptShader.generated.h"
  2. #include "BsMonoMethod.h"
  3. #include "BsMonoClass.h"
  4. #include "BsMonoUtil.h"
  5. #include "../../../bsf/Source/Foundation/bsfCore/Material/BsShader.h"
  6. #include "BsScriptShaderParameter.generated.h"
  7. #include "../../SBansheeEngine/Extensions/BsShaderEx.h"
  8. namespace bs
  9. {
  10. ScriptShader::ScriptShader(MonoObject* managedInstance, const ResourceHandle<Shader>& value)
  11. :TScriptResource(managedInstance, value)
  12. {
  13. }
  14. void ScriptShader::initRuntimeData()
  15. {
  16. metaData.scriptClass->addInternalCall("Internal_getParameters", (void*)&ScriptShader::Internal_getParameters);
  17. }
  18. MonoObject*ScriptShader::createInstance()
  19. {
  20. bool dummy = false;
  21. void* ctorParams[1] = { &dummy };
  22. return metaData.scriptClass->createInstance("bool", ctorParams);
  23. }
  24. MonoArray* ScriptShader::Internal_getParameters(ScriptShader* thisPtr)
  25. {
  26. Vector<ShaderParameter> vec__output;
  27. vec__output = ShaderEx::getParameters(thisPtr->getHandle());
  28. MonoArray* __output;
  29. int arraySize__output = (int)vec__output.size();
  30. ScriptArray array__output = ScriptArray::create<ScriptShaderParameter>(arraySize__output);
  31. for(int i = 0; i < arraySize__output; i++)
  32. {
  33. array__output.set(i, ScriptShaderParameter::toInterop(vec__output[i]));
  34. }
  35. __output = array__output.getInternal();
  36. return __output;
  37. }
  38. }