Fix some issues.

This commit is contained in:
Ottermandias 2023-12-18 17:02:08 +01:00
parent b494892d62
commit 6dc5916f2b
5 changed files with 10 additions and 8 deletions

@ -1 +1 @@
Subproject commit bde59c34f7108520002c21cdbf21e8ee5b586944 Subproject commit ac88abfe9eb0bb5d03aec092dc8f4db642ecbd6a

@ -1 +1 @@
Subproject commit 0cb10c3d915fd9c589195e24d44db3e2ca57841a Subproject commit c53e578e750d26f83a4e81aca1681c5b01d25a5a

View file

@ -3,6 +3,7 @@ using Microsoft.Extensions.DependencyInjection;
using OtterGui.Classes; using OtterGui.Classes;
using OtterGui.Compression; using OtterGui.Compression;
using OtterGui.Log; using OtterGui.Log;
using OtterGui.Services;
using Penumbra.Api; using Penumbra.Api;
using Penumbra.Collections.Cache; using Penumbra.Collections.Cache;
using Penumbra.Collections.Manager; using Penumbra.Collections.Manager;
@ -74,8 +75,8 @@ public static class ServiceManager
private static IServiceCollection AddAsyncServices(this IServiceCollection services) private static IServiceCollection AddAsyncServices(this IServiceCollection services)
{ {
foreach (var type in typeof(IDataContainer).Assembly.GetExportedTypes() foreach (var type in typeof(ActorManager).Assembly.GetExportedTypes()
.Where(t => t is { IsAbstract: false, IsInterface: false } && t.IsAssignableTo(typeof(IAsyncService)))) .Where(t => t is { IsAbstract: false, IsInterface: false } && t.IsAssignableTo(typeof(IService))))
services.AddSingleton(type); services.AddSingleton(type);
return services; return services;
} }

View file

@ -3,6 +3,7 @@ using Dalamud.Interface.Utility.Raii;
using Dalamud.Plugin; using Dalamud.Plugin;
using Dalamud.Plugin.Services; using Dalamud.Plugin.Services;
using ImGuiNET; using ImGuiNET;
using OtterGui.Log;
using OtterGui.Widgets; using OtterGui.Widgets;
using Penumbra.GameData.DataContainers; using Penumbra.GameData.DataContainers;
using Penumbra.GameData.Files; using Penumbra.GameData.Files;
@ -76,9 +77,9 @@ public class StainService : IDisposable
public readonly StmFile StmFile; public readonly StmFile StmFile;
public readonly StainTemplateCombo TemplateCombo; public readonly StainTemplateCombo TemplateCombo;
public StainService(DalamudPluginInterface pluginInterface, IDataManager dataManager, IPluginLog dalamudLog) public StainService(DalamudPluginInterface pluginInterface, IDataManager dataManager, Logger logger)
{ {
StainData = new DictStains(pluginInterface, dalamudLog, dataManager); StainData = new DictStains(pluginInterface, logger, dataManager);
StainCombo = new FilterComboColors(140, StainCombo = new FilterComboColors(140,
() => StainData.Value.Prepend(new KeyValuePair<byte, (string Name, uint Dye, bool Gloss)>(0, ("None", 0, false))).ToList(), () => StainData.Value.Prepend(new KeyValuePair<byte, (string Name, uint Dye, bool Gloss)>(0, ("None", 0, false))).ToList(),
Penumbra.Log); Penumbra.Log);

View file

@ -13,12 +13,12 @@ using ImGuiNET;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using OtterGui; using OtterGui;
using OtterGui.Classes; using OtterGui.Classes;
using OtterGui.Services;
using OtterGui.Widgets; using OtterGui.Widgets;
using Penumbra.Api; using Penumbra.Api;
using Penumbra.Collections.Manager; using Penumbra.Collections.Manager;
using Penumbra.GameData.Actors; using Penumbra.GameData.Actors;
using Penumbra.GameData.DataContainers; using Penumbra.GameData.DataContainers;
using Penumbra.GameData.DataContainers.Bases;
using Penumbra.GameData.Files; using Penumbra.GameData.Files;
using Penumbra.Import.Structs; using Penumbra.Import.Structs;
using Penumbra.Import.Textures; using Penumbra.Import.Textures;
@ -49,7 +49,7 @@ public class Diagnostics(IServiceProvider provider)
return; return;
using var table = ImRaii.Table("##data", 4, ImGuiTableFlags.RowBg); using var table = ImRaii.Table("##data", 4, ImGuiTableFlags.RowBg);
foreach (var type in typeof(IAsyncDataContainer).Assembly.GetTypes() foreach (var type in typeof(ActorManager).Assembly.GetTypes()
.Where(t => t is { IsAbstract: false, IsInterface: false } && t.IsAssignableTo(typeof(IAsyncDataContainer)))) .Where(t => t is { IsAbstract: false, IsInterface: false } && t.IsAssignableTo(typeof(IAsyncDataContainer))))
{ {
var container = (IAsyncDataContainer) provider.GetRequiredService(type); var container = (IAsyncDataContainer) provider.GetRequiredService(type);