18 console_log_panel_ = std::make_shared<console_log_panel>(
CONSOLE_VIEW);
19 console_log_panel_->set_level(spdlog::level::trace);
22 header_panel_ = std::make_unique<header_panel>(
this);
23 footer_panel_ = std::make_unique<footer_panel>();
24 cenral_dockspace_ = std::make_unique<dockspace>();
26 content_browser_panel_ = std::make_unique<content_browser_panel>(
this,
CONTENT_VIEW);
27 hierarchy_panel_ = std::make_unique<hierarchy_panel>(
this,
HIERARCHY_VIEW);
28 inspector_panel_ = std::make_unique<inspector_panel>(
this,
INSPECTOR_VIEW);
29 scene_panel_ = std::make_unique<scene_panel>(
this,
SCENE_VIEW);
30 game_panel_ = std::make_unique<game_panel>(
this,
GAME_VIEW);
31 profiler_timeline_panel_ = std::make_unique<profiler_timeline_panel>(
this,
PROFILER_VIEW);
32 animation_panel_ = std::make_unique<animation_panel>(
this);
33 mcp_panel_ = std::make_unique<mcp_panel>(
this);
35 deploy_panel_ = std::make_unique<deploy_panel>(
this);
36 project_settings_panel_ = std::make_unique<project_settings_panel>(
this);
37 editor_settings_panel_ = std::make_unique<editor_settings_panel>(
this);
38 style_panel_ = std::make_unique<style_panel>(
this);
39 layout_panel_ = std::make_unique<layout_panel>(
this,
LAYOUTS_VIEW);
40 undo_redo_panel_ = std::make_unique<undo_redo_panel>(
this);
94 auto footer_size = ImGui::GetFrameHeightWithSpacing();
95 auto header_size = ImGui::GetFrameHeightWithSpacing() * 2;
99 std::vector<panel_base*> panels =
104 for(
const auto& panel : panels)
106 if(panel->is_focused())
108 panel->toggle_fullscreen();
110 if(panel->is_fullscreen())
112 full_screen_panel_ = panel;
116 full_screen_panel_ =
nullptr;
124 header_panel_->on_frame_ui_render(ctx, header_size);
126 if(full_screen_panel_ && full_screen_panel_->
is_fullscreen())
128 const ImGuiViewport* viewport = ImGui::GetMainViewport();
129 const ImVec2 fullscreen_pos(viewport->WorkPos.x, viewport->WorkPos.y + header_size);
130 const ImVec2 fullscreen_size(viewport->WorkSize.x, viewport->WorkSize.y - header_size - footer_size);
131 ImGui::SetNextWindowPos(fullscreen_pos);
132 ImGui::SetNextWindowSize(fullscreen_size);
139 cenral_dockspace_->on_frame_ui_render(header_size, footer_size);
141 hierarchy_panel_->on_frame_ui_render(ctx);
143 inspector_panel_->on_frame_ui_render(ctx);
145 profiler_timeline_panel_->on_frame_ui_render(ctx,
PROFILER_VIEW);
147 console_log_panel_->on_frame_ui_render(ctx);
149 content_browser_panel_->on_frame_ui_render(ctx);
151 scene_panel_->on_frame_ui_render(ctx);
153 game_panel_->on_frame_ui_render(ctx);
155 layout_panel_->on_frame_ui_render(ctx);
159 mcp_panel_->on_frame_ui_render(ctx,
MCP_VIEW);
161 deploy_panel_->on_frame_ui_render(ctx,
DEPLOY_VIEW);
168 footer_panel_->on_frame_ui_render(ctx,
172 console_log_panel_->draw_last_log_button();
174 cenral_dockspace_->execute_dock_builder_order_and_focus_workaround();
178 style_panel_->on_frame_ui_render();
181 undo_redo_panel_->on_frame_ui_render(ctx);