BsEditorApplication.h 616 B

1234567891011121314151617181920212223242526272829303132
  1. #pragma once
  2. #include "BsEditorPrerequisites.h"
  3. #include "CmModule.h"
  4. namespace BansheeEditor
  5. {
  6. enum class RenderSystemPlugin
  7. {
  8. DX11,
  9. DX9,
  10. OpenGL
  11. };
  12. class EditorApplication : public CM::Module<EditorApplication>
  13. {
  14. public:
  15. EditorApplication(RenderSystemPlugin renderSystemPlugin);
  16. ~EditorApplication();
  17. void runMainLoop();
  18. bool isProjectLoaded() const;
  19. const CM::WString& getActiveProjectPath() const;
  20. private:
  21. RenderSystemPlugin mActiveRSPlugin;
  22. static const CM::String& getLibraryNameForRenderSystem(RenderSystemPlugin plugin);
  23. void update();
  24. };
  25. }