BsEditorApplication.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #pragma once
  2. #include "BsEditorPrerequisites.h"
  3. #include "BsApplication.h"
  4. #include "BsPath.h"
  5. namespace BansheeEngine
  6. {
  7. class BS_ED_EXPORT EditorApplication : public Application
  8. {
  9. public:
  10. EditorApplication(RenderSystemPlugin renderSystemPlugin);
  11. virtual ~EditorApplication();
  12. static void startUp(RenderSystemPlugin renderSystemPlugin);
  13. bool isProjectLoaded() const;
  14. bool isGameViewFocused() const;
  15. bool isSceneViewFocused() const;
  16. const Path& getActiveProjectPath() const;
  17. private:
  18. virtual void onStartUp();
  19. virtual void update();
  20. EditorWidgetLayoutPtr loadWidgetLayout();
  21. void saveWidgetLayout(const EditorWidgetLayoutPtr& layout);
  22. static void closeModalWindow(RenderWindowPtr window, HSceneObject sceneObject);
  23. private:
  24. static const Path WIDGET_LAYOUT_PATH;
  25. RenderSystemPlugin mActiveRSPlugin;
  26. // DEBUG ONLY
  27. HGpuProgram mFragProgRef;
  28. HGpuProgram mVertProgRef;
  29. ShaderPtr mTestShader;
  30. TechniquePtr mNewTechniqueGL;
  31. PassPtr mNewPassGL;
  32. TechniquePtr mNewTechniqueDX;
  33. PassPtr mNewPassDX;
  34. TechniquePtr mNewTechniqueDX11;
  35. PassPtr mNewPassDX11;
  36. HMaterial mTestMaterial;
  37. HTexture mTestTexRef;
  38. HMesh mDbgMeshRef;
  39. };
  40. BS_ED_EXPORT EditorApplication& gEditorApplication();
  41. }