BsScriptProfilerOverlayInternal.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536
  1. #pragma once
  2. #include "BsScriptEnginePrerequisites.h"
  3. #include "BsScriptObject.h"
  4. #include "BsProfilerOverlay.h"
  5. namespace BansheeEngine
  6. {
  7. /**
  8. * @brief Interop class between C++ & CLR for ProfilerOverlayInternal.
  9. */
  10. class BS_SCR_BE_EXPORT ScriptProfilerOverlayInternal : public ScriptObject < ScriptProfilerOverlayInternal >
  11. {
  12. public:
  13. SCRIPT_OBJ(ENGINE_ASSEMBLY, "BansheeEngine", "ProfilerOverlayInternal")
  14. /**
  15. * @brief Returns the native profiler overlay instance.
  16. */
  17. ProfilerOverlayInternal* getInternal() const { return mProfilerOverlayInternal; }
  18. private:
  19. ScriptProfilerOverlayInternal(MonoObject* managedInstance, const SPtr<Camera>& camera);
  20. ~ScriptProfilerOverlayInternal();
  21. ProfilerOverlayInternal* mProfilerOverlayInternal;
  22. /************************************************************************/
  23. /* CLR HOOKS */
  24. /************************************************************************/
  25. static void internal_CreateInstance(MonoObject* instance, ScriptCamera* camera);
  26. static void internal_SetType(ScriptProfilerOverlayInternal* thisPtr, ProfilerOverlayType type);
  27. static void internal_Update(ScriptProfilerOverlayInternal* thisPtr);
  28. static void internal_DestroyInstance(ScriptProfilerOverlayInternal* thisPtr);
  29. };
  30. }