BsScriptRenderableHandler.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435
  1. #pragma once
  2. #include "BsScriptEnginePrerequisites.h"
  3. #include "BsScriptObject.h"
  4. namespace BansheeEngine
  5. {
  6. class BS_SCR_BE_EXPORT ScriptRenderableHandler : public ScriptObject < ScriptRenderableHandler >
  7. {
  8. public:
  9. SCRIPT_OBJ(ENGINE_ASSEMBLY, "BansheeEngine", "RenderableHandler")
  10. SPtr<RenderableHandler> getInternal() const { return mRenderableHandler; }
  11. private:
  12. ScriptRenderableHandler(MonoObject* managedInstance, const HSceneObject& parentSO);
  13. ~ScriptRenderableHandler();
  14. void updateTransform(const HSceneObject& parent);
  15. static void internal_Create(MonoObject* instance, ScriptSceneObject* parentSO);
  16. static void internal_UpdateTransform(ScriptRenderableHandler* thisPtr, ScriptSceneObject* parentSO);
  17. static void internal_SetMesh(ScriptRenderableHandler* thisPtr, ScriptMesh* mesh);
  18. static void internal_GetBounds(ScriptRenderableHandler* thisPtr, ScriptSceneObject* parentSO, AABox* box, Sphere* sphere);
  19. static UINT64 internal_GetLayers(ScriptRenderableHandler* thisPtr);
  20. static void internal_SetLayers(ScriptRenderableHandler* thisPtr, UINT64 layers);
  21. static void internal_SetMaterial(ScriptRenderableHandler* thisPtr, ScriptMaterial* material, int index);
  22. static void internal_OnDestroy(ScriptRenderableHandler* thisPtr);
  23. void destroy();
  24. SPtr<RenderableHandler> mRenderableHandler;
  25. UINT32 mLastUpdateHash;
  26. };
  27. }