BsScriptShader.h 751 B

1234567891011121314151617181920212223242526272829
  1. #pragma once
  2. #include "BsScriptEnginePrerequisites.h"
  3. #include "BsScriptResource.h"
  4. #include "BsShader.h"
  5. namespace BansheeEngine
  6. {
  7. class BS_SCR_BE_EXPORT ScriptShader : public ScriptObject <ScriptShader, ScriptResourceBase>
  8. {
  9. public:
  10. SCRIPT_OBJ(ENGINE_ASSEMBLY, "BansheeEngine", "Shader")
  11. HResource getNativeHandle() const { return mShader; }
  12. void setNativeHandle(const HResource& resource);
  13. HShader getShaderHandle() const { return mShader; }
  14. private:
  15. friend class ScriptResourceManager;
  16. static void internal_GetShaderParameters(ScriptShader* nativeInstance, MonoArray** outNames, MonoArray** outTypes);
  17. ScriptShader(MonoObject* instance, const HShader& shader);
  18. void _onManagedInstanceDeleted();
  19. HShader mShader;
  20. };
  21. }