56 samurai::LoadedDll &loadedDll
60 if (!optionsFlags.hideMainWindow)
63#pragma region docking space init
64 ImGuiWindowFlags mainWindowFlags = ImGuiWindowFlags_MenuBar;
67 mainWindowFlags = ImGuiWindowFlags_MenuBar |
68 ImGuiWindowFlags_NoResize |
69 ImGuiWindowFlags_NoMove |
70 ImGuiWindowFlags_NoCollapse |
71 ImGuiWindowFlags_NoBringToFrontOnFocus |
72 ImGuiWindowFlags_NoBackground |
73 ImGuiWindowFlags_NoTitleBar;
75 ImVec2 vWindowSize = ImGui::GetMainViewport()->Size;
76 ImVec2 vPos0 = ImGui::GetMainViewport()->Pos;
77 ImGui::SetNextWindowPos(ImVec2((
float)vPos0.x, (
float)vPos0.y), ImGuiCond_Always);
78 ImGui::SetNextWindowSize(ImVec2((
float)vWindowSize.x, (
float)vWindowSize.y), 0);
82#pragma region main editor window
87 ImGui::PushID(imguiId);
89 ImGui::SetNextWindowBgAlpha(0);
102 static const ImGuiDockNodeFlags dockspaceFlags = ImGuiDockNodeFlags_None;
103 ImGuiID dockSpace = ImGui::GetID(
"MainWindowDockspace");
104 ImGui::DockSpace(dockSpace, ImVec2(0.0f, 0.0f), dockspaceFlags);
108 if (ImGui::BeginMenuBar())
111 if (ImGui::BeginMenu(ICON_FK_COGS
" Engine"))
115 if (ImGui::MenuItem(ICON_FK_REFRESH
" Reload dll",
118 shouldReloadDll =
true;
125 if (ImGui::BeginMenu(
"Options"))
135 if (ImGui::BeginMenu(ICON_FK_WINDOW_MAXIMIZE
" Windows"))
151 if (ImGui::BeginMenu(ICON_FK_COG
" Settings"))
160 &windowFlags.transparentWindow);
178 if (windowFlags.transparentWindow)
180 ImGuiStyle &style = ::ImGui::GetStyle();
181 style.Colors[ImGuiCol_WindowBg].w = 0.f;
185 ImGuiStyle &style = ::ImGui::GetStyle();
186 style.Colors[ImGuiCol_WindowBg].w = 1.f;
189#pragma region log window
190 if (windowFlags.logsWindow)
192 logWindow.update(logs, windowFlags.logsWindow);
196#pragma region shortcuts window
197 if (windowFlags.editShortcutsWindow)
199 editShortcutsWindow.update(shortcutManager, windowFlags.editShortcutsWindow);
203#pragma region containers window
204 if (windowFlags.containerManager)
206 containersWindow.update(logs, windowFlags.containerManager,
207 loadedDll, containerManager, imguiIDsManager);
211#pragma region asset manager window
213 if (windowFlags.assetManagerWindow)
215 assetManagerWindow.update(windowFlags.assetManagerWindow, containerManager, loadedDll, logs, imguiIDsManager);
void update(const samurai::Input &input, samurai::ShortcutManager &shortcutManager, samurai::LogManager &logs, samurai::LoadedDll &loadedDll, samurai::samuraiImgui::ImGuiIdsManager &imguiIDsManager, samurai::ContainerManager &containerManager)