BsScriptMaterial.generated.h 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #pragma once
  2. #include "BsScriptEnginePrerequisites.h"
  3. #include "Wrappers/BsScriptResource.h"
  4. #include "Math/BsVector2.h"
  5. #include "../../../bsf/Source/Foundation/bsfUtility/Image/BsColorGradient.h"
  6. #include "Image/BsColor.h"
  7. #include "Math/BsMatrix4.h"
  8. #include "Math/BsVector4.h"
  9. #include "../../../bsf/Source/Foundation/bsfCore/Animation/BsAnimationCurve.h"
  10. #include "Math/BsVector3.h"
  11. #include "Math/BsMatrix3.h"
  12. namespace bs
  13. {
  14. class Material;
  15. class MaterialEx;
  16. class BS_SCR_BE_EXPORT ScriptMaterial : public TScriptResource<ScriptMaterial, Material>
  17. {
  18. public:
  19. SCRIPT_OBJ(ENGINE_ASSEMBLY, "BansheeEngine", "Material")
  20. ScriptMaterial(MonoObject* managedInstance, const ResourceHandle<Material>& value);
  21. static MonoObject* createInstance();
  22. private:
  23. static MonoObject* Internal_getRef(ScriptMaterial* thisPtr);
  24. static void Internal_setShader(ScriptMaterial* thisPtr, MonoObject* shader);
  25. static MonoObject* Internal_clone(ScriptMaterial* thisPtr);
  26. static MonoObject* Internal_getShader(ScriptMaterial* thisPtr);
  27. static void Internal_setFloat(ScriptMaterial* thisPtr, MonoString* name, float value, uint32_t arrayIdx);
  28. static void Internal_setFloatCurve(ScriptMaterial* thisPtr, MonoString* name, MonoObject* value, uint32_t arrayIdx);
  29. static void Internal_setColor(ScriptMaterial* thisPtr, MonoString* name, Color* value, uint32_t arrayIdx);
  30. static void Internal_setColorGradient(ScriptMaterial* thisPtr, MonoString* name, MonoObject* value, uint32_t arrayIdx);
  31. static void Internal_setVec2(ScriptMaterial* thisPtr, MonoString* name, Vector2* value, uint32_t arrayIdx);
  32. static void Internal_setVec3(ScriptMaterial* thisPtr, MonoString* name, Vector3* value, uint32_t arrayIdx);
  33. static void Internal_setVec4(ScriptMaterial* thisPtr, MonoString* name, Vector4* value, uint32_t arrayIdx);
  34. static void Internal_setMat3(ScriptMaterial* thisPtr, MonoString* name, Matrix3* value, uint32_t arrayIdx);
  35. static void Internal_setMat4(ScriptMaterial* thisPtr, MonoString* name, Matrix4* value, uint32_t arrayIdx);
  36. static float Internal_getFloat(ScriptMaterial* thisPtr, MonoString* name, uint32_t arrayIdx);
  37. static MonoObject* Internal_getFloatCurve(ScriptMaterial* thisPtr, MonoString* name, uint32_t arrayIdx);
  38. static void Internal_getColor(ScriptMaterial* thisPtr, MonoString* name, uint32_t arrayIdx, Color* __output);
  39. static MonoObject* Internal_getColorGradient(ScriptMaterial* thisPtr, MonoString* name, uint32_t arrayIdx);
  40. static void Internal_getVec2(ScriptMaterial* thisPtr, MonoString* name, uint32_t arrayIdx, Vector2* __output);
  41. static void Internal_getVec3(ScriptMaterial* thisPtr, MonoString* name, uint32_t arrayIdx, Vector3* __output);
  42. static void Internal_getVec4(ScriptMaterial* thisPtr, MonoString* name, uint32_t arrayIdx, Vector4* __output);
  43. static void Internal_getMat3(ScriptMaterial* thisPtr, MonoString* name, uint32_t arrayIdx, Matrix3* __output);
  44. static void Internal_getMat4(ScriptMaterial* thisPtr, MonoString* name, uint32_t arrayIdx, Matrix4* __output);
  45. static void Internal_create(MonoObject* managedInstance);
  46. static void Internal_create0(MonoObject* managedInstance, MonoObject* shader);
  47. static void Internal_setTexture(ScriptMaterial* thisPtr, MonoString* name, MonoObject* value, uint32_t mipLevel, uint32_t numMipLevels, uint32_t arraySlice, uint32_t numArraySlices);
  48. static MonoObject* Internal_getTexture(ScriptMaterial* thisPtr, MonoString* name);
  49. static void Internal_setSpriteTexture(ScriptMaterial* thisPtr, MonoString* name, MonoObject* value);
  50. static MonoObject* Internal_getSpriteTexture(ScriptMaterial* thisPtr, MonoString* name);
  51. };
  52. }