BsEditorWindowManager.h 651 B

12345678910111213141516171819202122232425262728
  1. #pragma once
  2. #include "BsEditorPrerequisites.h"
  3. #include "BsModule.h"
  4. #include "BsEvent.h"
  5. namespace BansheeEngine
  6. {
  7. class EditorWindowManager : public Module<EditorWindowManager>
  8. {
  9. public:
  10. EditorWindowManager();
  11. ~EditorWindowManager();
  12. MainEditorWindow* createMain(const RenderWindowPtr& parentRenderWindow);
  13. EditorWindow* create();
  14. void destroy(EditorWindowBase* window);
  15. MainEditorWindow* getMainWindow() const { return mMainWindow; }
  16. void update();
  17. protected:
  18. MainEditorWindow* mMainWindow;
  19. Vector<EditorWindowBase*> mEditorWindows;
  20. Vector<EditorWindowBase*> mScheduledForDestruction;
  21. };
  22. }