show actual plugins in installed tab
All checks were successful
Build / Compute Version (push) Successful in 6s
Build / Build Nuget package (CringeBootstrap.Abstractions) (push) Successful in 1m35s
Build / Build Nuget package (NuGet) (push) Successful in 2m2s
Build / Build Nuget package (CringePlugins) (push) Successful in 3m2s
Build / Build Nuget package (SharedCringe) (push) Successful in 2m12s
Build / Build Launcher (push) Successful in 3m27s

This commit is contained in:
zznty
2024-11-03 02:54:47 +07:00
parent 1df79c041a
commit 8cddcab26c
2 changed files with 10 additions and 6 deletions

View File

@@ -66,7 +66,7 @@ public class PluginsLifetime : ILoadingStage
RegisterLifetime(); RegisterLifetime();
RenderHandler.Current.RegisterComponent(new PluginListComponent(packagesConfig, sourceMapping, configPath)); RenderHandler.Current.RegisterComponent(new PluginListComponent(packagesConfig, sourceMapping, configPath, _plugins));
} }
private void RegisterLifetime() private void RegisterLifetime()

View File

@@ -2,6 +2,7 @@
using System.Text.Json; using System.Text.Json;
using CringePlugins.Abstractions; using CringePlugins.Abstractions;
using CringePlugins.Config; using CringePlugins.Config;
using CringePlugins.Loader;
using CringePlugins.Resolver; using CringePlugins.Resolver;
using ImGuiNET; using ImGuiNET;
using NLog; using NLog;
@@ -15,7 +16,7 @@ using static ImGuiNET.ImGui;
namespace CringePlugins.Ui; namespace CringePlugins.Ui;
public class PluginListComponent : IRenderComponent internal class PluginListComponent : IRenderComponent
{ {
private static readonly Logger Log = LogManager.GetCurrentClassLogger(); private static readonly Logger Log = LogManager.GetCurrentClassLogger();
@@ -29,13 +30,16 @@ public class PluginListComponent : IRenderComponent
private readonly PackagesConfig _packagesConfig; private readonly PackagesConfig _packagesConfig;
private readonly PackageSourceMapping _sources; private readonly PackageSourceMapping _sources;
private readonly string _configPath; private readonly string _configPath;
private readonly ImmutableArray<PluginInstance> _plugins;
private (SearchResultEntry entry, NuGetClient client)? _selected; private (SearchResultEntry entry, NuGetClient client)? _selected;
public PluginListComponent(PackagesConfig packagesConfig, PackageSourceMapping sources, string configPath) public PluginListComponent(PackagesConfig packagesConfig, PackageSourceMapping sources, string configPath,
ImmutableArray<PluginInstance> plugins)
{ {
_packagesConfig = packagesConfig; _packagesConfig = packagesConfig;
_sources = sources; _sources = sources;
_configPath = configPath; _configPath = configPath;
_plugins = plugins;
_packages = packagesConfig.Packages.ToImmutableDictionary(b => b.Id, b => b.Range, StringComparer.OrdinalIgnoreCase); _packages = packagesConfig.Packages.ToImmutableDictionary(b => b.Id, b => b.Range, StringComparer.OrdinalIgnoreCase);
MyGuiSandbox.GuiControlCreated += GuiControlCreated; MyGuiSandbox.GuiControlCreated += GuiControlCreated;
@@ -73,14 +77,14 @@ public class PluginListComponent : IRenderComponent
TableSetupColumn("Version"); TableSetupColumn("Version");
TableHeadersRow(); TableHeadersRow();
foreach (var (id, versionRange) in _packages) foreach (var plugin in _plugins)
{ {
TableNextRow(); TableNextRow();
TableNextColumn(); TableNextColumn();
Text(id); Text(plugin.Metadata.Name);
TableNextColumn(); TableNextColumn();
Text(versionRange.MinVersion?.ToString() ?? versionRange.ToString()); Text(plugin.Metadata.Version.ToString());
} }
EndTable(); EndTable();