public override void Draw() => ImGuiExtension.Label(SettingName);
public void Render() { if (!Settings.Enable.Value) { return; } var opened = Settings.Enable.Value; Settings.IsCollapsed = !DrawInfoWindow("PoeHUD " + PoeHUDVersion, ref opened, Settings.MenuWindowPos.X, Settings.MenuWindowPos.Y, Settings.MenuWindowSize.X, Settings.MenuWindowSize.Y, WindowFlags.Default, Condition.Appearing); Settings.Enable.Value = opened; if (!Settings.IsCollapsed) { ImGuiNative.igGetContentRegionAvail(out newcontentRegionArea); if (ImGui.BeginChild("PluginsList", new Vector2(PluginNameWidth + 60, newcontentRegionArea.Y), true, WindowFlags.Default)) { PluginNameWidth = 120; var coreOpened = ImGui.TreeNodeEx("", Settings.CorePluginsTreeState); ImGui.SameLine(); if (ImGui.Selectable(CoreMenu.Plugin.PluginName, SelectedPlugin == CoreMenu.Plugin)) { SelectedPlugin = CoreMenu.Plugin; } if (coreOpened) { foreach (var defPlugin in CoreMenu.Childs) { if (defPlugin.Childs.Count == 0) { DrawPlugin(defPlugin.Plugin, 20); } else { defPlugin.Plugin.Settings.Enable = ImGuiExtension.Checkbox($"##{defPlugin.Plugin.PluginName}Enabled", defPlugin.Plugin.Settings.Enable.Value); ImGui.SameLine(); var pluginOpened = ImGui.TreeNodeEx($"##{defPlugin.Plugin.PluginName}", TreeNodeFlags.OpenOnArrow); ImGui.SameLine(); var labelSize = ImGui.GetTextSize(defPlugin.Plugin.PluginName).X + 30; if (PluginNameWidth < labelSize) { PluginNameWidth = labelSize; } if (ImGui.Selectable(defPlugin.Plugin.PluginName, SelectedPlugin == defPlugin.Plugin)) { SelectedPlugin = defPlugin.Plugin; } if (pluginOpened) { foreach (var plugin in defPlugin.Childs) { DrawPlugin(plugin.Plugin, 30); } ImGuiNative.igUnindent(); } } } ImGui.TreePop(); Settings.CorePluginsTreeState = TreeNodeFlags.DefaultOpen | TreeNodeFlags.OpenOnArrow; ImGui.Text(""); } else { Settings.CorePluginsTreeState = TreeNodeFlags.OpenOnArrow; } if (ImGui.TreeNodeEx("Installed Plugins", Settings.InstalledPluginsTreeNode)) { foreach (var plugin in PluginExtensionPlugin.Plugins) { if (Settings.DeveloperMode.Value && Settings.ShowPluginsMS.Value) { var extPlugin = (plugin as ExternalPluginHolder).BPlugin; if (extPlugin == null) //This can happen while plugin update (using plugin updator) or recompile { continue; } ImGuiExtension.Label(extPlugin.AwerageMs.ToString()); ImGui.SameLine(); } DrawPlugin(plugin, 20); } ImGui.TreePop(); Settings.InstalledPluginsTreeNode = TreeNodeFlags.DefaultOpen; } else { Settings.InstalledPluginsTreeNode = (TreeNodeFlags)0; } } ImGui.EndChild(); ImGui.SameLine(); if (SelectedPlugin != null) { ImGuiNative.igGetContentRegionAvail(out newcontentRegionArea); ImGui.BeginChild("PluginOptions", new Vector2(newcontentRegionArea.X, newcontentRegionArea.Y), true, WindowFlags.Default); var extPlugin = SelectedPlugin as ExternalPluginHolder; if (Settings.DeveloperMode.Value && extPlugin != null) { if (ImGuiExtension.Button("Reload Plugin")) { extPlugin.ReloadPlugin(); } if (extPlugin.BPlugin != null) { ImGui.SameLine(); ImGuiExtension.Label("CurrentMS: " + extPlugin.BPlugin.CurrentMs); ImGui.SameLine(); ImGuiExtension.Label("AwerageMS: " + extPlugin.BPlugin.AwerageMs); ImGui.SameLine(); ImGuiExtension.Label("TopMS: " + extPlugin.BPlugin.TopMs); } } SelectedPlugin.DrawSettingsMenu(); ImGui.EndChild(); } Settings.MenuWindowSize = ImGui.GetWindowSize(); } Settings.MenuWindowPos = ImGui.GetWindowPosition(); ImGui.EndWindow(); if (Settings.ShowImguiDemo.Value) { bool tmp = Settings.ShowImguiDemo.Value; ImGuiNative.igShowDemoWindow(ref tmp); Settings.ShowImguiDemo.Value = tmp; } }
public virtual void Draw() => ImGuiExtension.Label(SettingName);