Update some Dalamud Services.

This commit is contained in:
Ottermandias 2023-08-10 18:10:26 +02:00
parent 09ca32f33d
commit af536b3423
24 changed files with 78 additions and 91 deletions

@ -1 +1 @@
Subproject commit 9dad955808831a5d154d778d1123acbe648c42ac
Subproject commit 863d08bd83381bb7fe4a8d5c514f0ba55379336f

@ -1 +1 @@
Subproject commit e5b733c6fcc5436c8f767dd99a37e5e8c16b4fc8
Subproject commit d84508ea1a607976525265e8f75a329667eec0e5

View file

@ -5,6 +5,7 @@ using Dalamud.Game;
using Dalamud.Game.Command;
using Dalamud.Game.Gui;
using Dalamud.Game.Text.SeStringHandling;
using Dalamud.Plugin.Services;
using ImGuiNET;
using OtterGui.Classes;
using Penumbra.Api.Enums;
@ -16,7 +17,6 @@ using Penumbra.Mods;
using Penumbra.Mods.Manager;
using Penumbra.Services;
using Penumbra.UI;
using Penumbra.Util;
namespace Penumbra;
@ -24,7 +24,7 @@ public class CommandHandler : IDisposable
{
private const string CommandName = "/penumbra";
private readonly CommandManager _commandManager;
private readonly ICommandManager _commandManager;
private readonly RedrawService _redrawService;
private readonly ChatGui _chat;
private readonly Configuration _config;
@ -35,7 +35,7 @@ public class CommandHandler : IDisposable
private readonly Penumbra _penumbra;
private readonly CollectionEditor _collectionEditor;
public CommandHandler(Framework framework, CommandManager commandManager, ChatGui chat, RedrawService redrawService, Configuration config,
public CommandHandler(Framework framework, ICommandManager commandManager, ChatGui chat, RedrawService redrawService, Configuration config,
ConfigWindow configWindow, ModManager modManager, CollectionManager collectionManager, ActorService actors, Penumbra penumbra,
CollectionEditor collectionEditor)
{

View file

@ -6,8 +6,8 @@ using System.Linq;
using System.Numerics;
using System.Threading;
using System.Threading.Tasks;
using Dalamud.Data;
using Dalamud.Interface;
using Dalamud.Plugin.Services;
using ImGuiScene;
using Lumina.Data.Files;
using OtterGui.Log;
@ -16,21 +16,20 @@ using OtterTex;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Formats.Png;
using SixLabors.ImageSharp.PixelFormats;
using Swan;
using Image = SixLabors.ImageSharp.Image;
namespace Penumbra.Import.Textures;
public sealed class TextureManager : SingleTaskQueue, IDisposable
{
private readonly Logger _logger;
private readonly UiBuilder _uiBuilder;
private readonly DataManager _gameData;
private readonly Logger _logger;
private readonly UiBuilder _uiBuilder;
private readonly IDataManager _gameData;
private readonly ConcurrentDictionary<IAction, (Task, CancellationTokenSource)> _tasks = new();
private bool _disposed = false;
public TextureManager(UiBuilder uiBuilder, DataManager gameData, Logger logger)
public TextureManager(UiBuilder uiBuilder, IDataManager gameData, Logger logger)
{
_uiBuilder = uiBuilder;
_gameData = gameData;

View file

@ -1,10 +1,9 @@
using System;
using System.Threading;
using Dalamud.Game.ClientState.Conditions;
using Dalamud.Game.ClientState.Objects;
using Dalamud.Hooking;
using Dalamud.Plugin.Services;
using Dalamud.Utility.Signatures;
using FFXIVClientStructs.FFXIV.Client.Game.Event;
using FFXIVClientStructs.FFXIV.Client.Graphics.Scene;
using Penumbra.Collections;
using Penumbra.GameData;
@ -20,7 +19,7 @@ namespace Penumbra.Interop.PathResolving;
public unsafe class AnimationHookService : IDisposable
{
private readonly PerformanceTracker _performance;
private readonly ObjectTable _objects;
private readonly IObjectTable _objects;
private readonly CollectionResolver _collectionResolver;
private readonly DrawObjectState _drawObjectState;
private readonly CollectionResolver _resolver;
@ -29,7 +28,7 @@ public unsafe class AnimationHookService : IDisposable
private readonly ThreadLocal<ResolveData> _animationLoadData = new(() => ResolveData.Invalid, true);
private readonly ThreadLocal<ResolveData> _characterSoundData = new(() => ResolveData.Invalid, true);
public AnimationHookService(PerformanceTracker performance, ObjectTable objects, CollectionResolver collectionResolver,
public AnimationHookService(PerformanceTracker performance, IObjectTable objects, CollectionResolver collectionResolver,
DrawObjectState drawObjectState, CollectionResolver resolver, Condition conditions)
{
_performance = performance;

View file

@ -1,6 +1,5 @@
using System;
using Dalamud.Game.ClientState;
using Dalamud.Game.Gui;
using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Client.Graphics.Scene;
using Penumbra.Collections;
using Penumbra.Collections.Manager;
@ -21,8 +20,8 @@ public unsafe class CollectionResolver
private readonly IdentifiedCollectionCache _cache;
private readonly HumanModelList _humanModels;
private readonly ClientState _clientState;
private readonly GameGui _gameGui;
private readonly IClientState _clientState;
private readonly IGameGui _gameGui;
private readonly ActorService _actors;
private readonly CutsceneService _cutscenes;
@ -31,7 +30,7 @@ public unsafe class CollectionResolver
private readonly TempCollectionManager _tempCollections;
private readonly DrawObjectState _drawObjectState;
public CollectionResolver(PerformanceTracker performance, IdentifiedCollectionCache cache, ClientState clientState, GameGui gameGui,
public CollectionResolver(PerformanceTracker performance, IdentifiedCollectionCache cache, IClientState clientState, IGameGui gameGui,
ActorService actors, CutsceneService cutscenes, Configuration config, CollectionManager collectionManager,
TempCollectionManager tempCollections, DrawObjectState drawObjectState, HumanModelList humanModels)
{

View file

@ -2,7 +2,7 @@ using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using Dalamud.Game.ClientState.Objects;
using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Client.Game.Character;
using Penumbra.GameData.Actors;
using Penumbra.Interop.Services;
@ -16,7 +16,7 @@ public class CutsceneService : IDisposable
public const int CutsceneSlots = CutsceneEndIdx - CutsceneStartIdx;
private readonly GameEventManager _events;
private readonly ObjectTable _objects;
private readonly IObjectTable _objects;
private readonly short[] _copiedCharacters = Enumerable.Repeat((short)-1, CutsceneSlots).ToArray();
public IEnumerable<KeyValuePair<int, Dalamud.Game.ClientState.Objects.Types.GameObject>> Actors
@ -24,7 +24,7 @@ public class CutsceneService : IDisposable
.Where(i => _objects[i] != null)
.Select(i => KeyValuePair.Create(i, this[i] ?? _objects[i]!));
public unsafe CutsceneService(ObjectTable objects, GameEventManager events)
public unsafe CutsceneService(IObjectTable objects, GameEventManager events)
{
_objects = objects;
_events = events;

View file

@ -4,7 +4,7 @@ using System;
using System.Collections;
using System.Collections.Generic;
using System.Threading;
using Dalamud.Game.ClientState.Objects;
using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Client.Game.Object;
using Penumbra.GameData;
using Penumbra.Interop.Services;
@ -14,7 +14,7 @@ namespace Penumbra.Interop.PathResolving;
public class DrawObjectState : IDisposable, IReadOnlyDictionary<nint, (nint, bool)>
{
private readonly ObjectTable _objects;
private readonly IObjectTable _objects;
private readonly GameEventManager _gameEvents;
private readonly Dictionary<nint, (nint GameObject, bool IsChild)> _drawObjectToGameObject = new();
@ -24,7 +24,7 @@ public class DrawObjectState : IDisposable, IReadOnlyDictionary<nint, (nint, boo
public nint LastGameObject
=> _lastGameObject.IsValueCreated && _lastGameObject.Value!.Count > 0 ? _lastGameObject.Value.Peek() : nint.Zero;
public DrawObjectState(ObjectTable objects, GameEventManager gameEvents)
public DrawObjectState(IObjectTable objects, GameEventManager gameEvents)
{
SignatureHelper.Initialise(this);
_enableDrawHook.Enable();

View file

@ -1,7 +1,7 @@
using System;
using System.Collections;
using System.Collections.Generic;
using Dalamud.Game.ClientState;
using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Client.Game.Character;
using FFXIVClientStructs.FFXIV.Client.Game.Object;
using Penumbra.Collections;
@ -17,11 +17,11 @@ public unsafe class IdentifiedCollectionCache : IDisposable, IEnumerable<(nint A
{
private readonly CommunicatorService _communicator;
private readonly GameEventManager _events;
private readonly ClientState _clientState;
private readonly IClientState _clientState;
private readonly Dictionary<nint, (ActorIdentifier, ModCollection)> _cache = new(317);
private bool _dirty;
public IdentifiedCollectionCache(ClientState clientState, CommunicatorService communicator, GameEventManager events)
public IdentifiedCollectionCache(IClientState clientState, CommunicatorService communicator, GameEventManager events)
{
_clientState = clientState;
_communicator = communicator;

View file

@ -1,7 +1,6 @@
using System.Collections.Generic;
using System.Linq;
using Dalamud.Data;
using Dalamud.Game.ClientState.Objects;
using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Client.Game.Character;
using FFXIVClientStructs.FFXIV.Client.Game.Object;
using Penumbra.GameData.Actors;
@ -12,14 +11,14 @@ namespace Penumbra.Interop.ResourceTree;
public class ResourceTreeFactory
{
private readonly DataManager _gameData;
private readonly ObjectTable _objects;
private readonly IDataManager _gameData;
private readonly IObjectTable _objects;
private readonly CollectionResolver _collectionResolver;
private readonly IdentifierService _identifier;
private readonly Configuration _config;
private readonly ActorService _actors;
public ResourceTreeFactory(DataManager gameData, ObjectTable objects, CollectionResolver resolver, IdentifierService identifier,
public ResourceTreeFactory(IDataManager gameData, IObjectTable objects, CollectionResolver resolver, IdentifierService identifier,
Configuration config, ActorService actors)
{
_gameData = gameData;

View file

@ -2,9 +2,8 @@ using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using Dalamud.Data;
using Dalamud.Game.ClientState.Objects;
using Dalamud.Game.ClientState.Objects.Types;
using Dalamud.Plugin.Services;
using Penumbra.GameData.Files;
using Penumbra.String.Classes;
@ -12,13 +11,13 @@ namespace Penumbra.Interop.ResourceTree;
internal class TreeBuildCache
{
private readonly DataManager _dataManager;
private readonly IDataManager _dataManager;
private readonly Dictionary<FullPath, MtrlFile?> _materials = new();
private readonly Dictionary<FullPath, ShpkFile?> _shaderPackages = new();
public readonly List<Character> Characters;
public readonly Dictionary<uint, Character> CharactersById;
public TreeBuildCache(ObjectTable objects, DataManager dataManager)
public TreeBuildCache(IObjectTable objects, IDataManager dataManager)
{
_dataManager = dataManager;
Characters = objects.Where(c => c is Character ch && ch.IsValid()).Cast<Character>().ToList();
@ -36,7 +35,7 @@ internal class TreeBuildCache
public ShpkFile? ReadShaderPackage(FullPath path)
=> ReadFile(_dataManager, path, _shaderPackages, bytes => new ShpkFile(bytes));
private static T? ReadFile<T>(DataManager dataManager, FullPath path, Dictionary<FullPath, T?> cache, Func<byte[], T> parseFile)
private static T? ReadFile<T>(IDataManager dataManager, FullPath path, Dictionary<FullPath, T?> cache, Func<byte[], T> parseFile)
where T : class
{
if (path.FullName.Length == 0)

View file

@ -7,12 +7,12 @@ using Dalamud.Game.ClientState.Objects;
using Dalamud.Game.ClientState.Objects.Enums;
using Dalamud.Game.ClientState.Objects.SubKinds;
using Dalamud.Game.ClientState.Objects.Types;
using Dalamud.Plugin.Services;
using Penumbra.Api;
using Penumbra.Api.Enums;
using Penumbra.GameData;
using Penumbra.GameData.Actors;
using Penumbra.Interop.Structs;
using Penumbra.Services;
namespace Penumbra.Interop.Services;
@ -104,8 +104,8 @@ public unsafe partial class RedrawService
public sealed unsafe partial class RedrawService : IDisposable
{
private readonly Framework _framework;
private readonly ObjectTable _objects;
private readonly TargetManager _targets;
private readonly IObjectTable _objects;
private readonly ITargetManager _targets;
private readonly Condition _conditions;
private readonly List<int> _queue = new(100);
@ -114,7 +114,7 @@ public sealed unsafe partial class RedrawService : IDisposable
public event GameObjectRedrawnDelegate? GameObjectRedrawn;
public RedrawService(Framework framework, ObjectTable objects, TargetManager targets, Condition conditions)
public RedrawService(Framework framework, IObjectTable objects, ITargetManager targets, Condition conditions)
{
_framework = framework;
_objects = objects;

View file

@ -1,7 +1,7 @@
using System;
using System.Linq;
using System.Runtime.CompilerServices;
using Dalamud.Data;
using Dalamud.Plugin.Services;
using Dalamud.Utility.Signatures;
using FFXIVClientStructs.FFXIV.Client.System.Memory;
using Penumbra.Collections;
@ -22,12 +22,12 @@ public unsafe class MetaFileManager
internal readonly Configuration Config;
internal readonly CharacterUtility CharacterUtility;
internal readonly ResidentResourceManager ResidentResources;
internal readonly DataManager GameData;
internal readonly IDataManager GameData;
internal readonly ActiveCollectionData ActiveCollections;
internal readonly ValidityChecker ValidityChecker;
internal readonly IdentifierService Identifier;
public MetaFileManager(CharacterUtility characterUtility, ResidentResourceManager residentResources, DataManager gameData,
public MetaFileManager(CharacterUtility characterUtility, ResidentResourceManager residentResources, IDataManager gameData,
ActiveCollectionData activeCollections, Configuration config, ValidityChecker validityChecker, IdentifierService identifier)
{
CharacterUtility = characterUtility;

View file

@ -3,7 +3,6 @@ using Dalamud.Game.Gui;
using Dalamud.Game.Text;
using Dalamud.Game.Text.SeStringHandling;
using Dalamud.Game.Text.SeStringHandling.Payloads;
using Dalamud.Interface;
using Dalamud.Plugin;
using Lumina.Excel.GeneratedSheets;
using OtterGui.Log;
@ -14,7 +13,7 @@ public class ChatService : OtterGui.Classes.ChatService
{
private readonly ChatGui _chat;
public ChatService(Logger log, DalamudPluginInterface pi, ChatGui chat, UiBuilder uiBuilder)
public ChatService(Logger log, DalamudPluginInterface pi, ChatGui chat)
: base(log, pi)
=> _chat = chat;

View file

@ -1,11 +1,8 @@
using System;
using Dalamud.Data;
using Dalamud.Game;
using Dalamud.Game.ClientState;
using Dalamud.Game.ClientState.Conditions;
using Dalamud.Game.ClientState.Keys;
using Dalamud.Game.ClientState.Objects;
using Dalamud.Game.Command;
using Dalamud.Game.Gui;
using Dalamud.Interface;
using Dalamud.IoC;
@ -86,18 +83,18 @@ public class DalamudServices
// TODO remove static
// @formatter:off
[PluginService][RequiredVersion("1.0")] public DalamudPluginInterface PluginInterface { get; private set; } = null!;
[PluginService][RequiredVersion("1.0")] public CommandManager Commands { get; private set; } = null!;
[PluginService][RequiredVersion("1.0")] public DataManager GameData { get; private set; } = null!;
[PluginService][RequiredVersion("1.0")] public ClientState ClientState { get; private set; } = null!;
[PluginService][RequiredVersion("1.0")] public ICommandManager Commands { get; private set; } = null!;
[PluginService][RequiredVersion("1.0")] public IDataManager GameData { get; private set; } = null!;
[PluginService][RequiredVersion("1.0")] public IClientState ClientState { get; private set; } = null!;
[PluginService][RequiredVersion("1.0")] public ChatGui Chat { get; private set; } = null!;
[PluginService][RequiredVersion("1.0")] public Framework Framework { get; private set; } = null!;
[PluginService][RequiredVersion("1.0")] public Condition Conditions { get; private set; } = null!;
[PluginService][RequiredVersion("1.0")] public TargetManager Targets { get; private set; } = null!;
[PluginService][RequiredVersion("1.0")] public ObjectTable Objects { get; private set; } = null!;
[PluginService][RequiredVersion("1.0")] public ITargetManager Targets { get; private set; } = null!;
[PluginService][RequiredVersion("1.0")] public IObjectTable Objects { get; private set; } = null!;
[PluginService][RequiredVersion("1.0")] public TitleScreenMenu TitleScreenMenu { get; private set; } = null!;
[PluginService][RequiredVersion("1.0")] public GameGui GameGui { get; private set; } = null!;
[PluginService][RequiredVersion("1.0")] public IGameGui GameGui { get; private set; } = null!;
[PluginService][RequiredVersion("1.0")] public KeyState KeyState { get; private set; } = null!;
[PluginService][RequiredVersion("1.0")] public SigScanner SigScanner { get; private set; } = null!;
[PluginService][RequiredVersion("1.0")] public ISigScanner SigScanner { get; private set; } = null!;
[PluginService][RequiredVersion("1.0")] public IDragDropManager DragDropManager { get; private set; } = null!;
[PluginService][RequiredVersion("1.0")] public ITextureProvider TextureProvider { get; private set; } = null!;
[PluginService][RequiredVersion("1.0")] public ITextureSubstitutionProvider TextureSubstitutionProvider { get; private set; } = null!;

View file

@ -1,8 +1,8 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Dalamud.Data;
using Dalamud.Plugin;
using Dalamud.Plugin.Services;
using OtterGui.Widgets;
using Penumbra.GameData.Data;
using Penumbra.GameData.Files;
@ -24,7 +24,7 @@ public class StainService : IDisposable
public readonly StmFile StmFile;
public readonly StainTemplateCombo TemplateCombo;
public StainService(StartTracker timer, DalamudPluginInterface pluginInterface, DataManager dataManager)
public StainService(StartTracker timer, DalamudPluginInterface pluginInterface, IDataManager dataManager)
{
using var t = timer.Measure(StartTimeType.Stains);
StainData = new StainData(pluginInterface, dataManager, dataManager.Language);

View file

@ -1,9 +1,6 @@
using Dalamud.Data;
using Dalamud.Game;
using Dalamud.Game.ClientState;
using Dalamud.Game.ClientState.Objects;
using Dalamud.Game.Gui;
using Dalamud.Plugin;
using Dalamud.Plugin.Services;
using Penumbra.GameData;
using Penumbra.GameData.Actors;
using Penumbra.GameData.Data;
@ -14,22 +11,22 @@ namespace Penumbra.Services;
public sealed class IdentifierService : AsyncServiceWrapper<IObjectIdentifier>
{
public IdentifierService(StartTracker tracker, DalamudPluginInterface pi, DataManager data, ItemService items)
public IdentifierService(StartTracker tracker, DalamudPluginInterface pi, IDataManager data, ItemService items)
: base(nameof(IdentifierService), tracker, StartTimeType.Identifier, () => GameData.GameData.GetIdentifier(pi, data, items.AwaitedService))
{ }
}
public sealed class ItemService : AsyncServiceWrapper<ItemData>
{
public ItemService(StartTracker tracker, DalamudPluginInterface pi, DataManager gameData)
public ItemService(StartTracker tracker, DalamudPluginInterface pi, IDataManager gameData)
: base(nameof(ItemService), tracker, StartTimeType.Items, () => new ItemData(pi, gameData, gameData.Language))
{ }
}
public sealed class ActorService : AsyncServiceWrapper<ActorManager>
{
public ActorService(StartTracker tracker, DalamudPluginInterface pi, ObjectTable objects, ClientState clientState,
Framework framework, DataManager gameData, GameGui gui, CutsceneService cutscene)
public ActorService(StartTracker tracker, DalamudPluginInterface pi, IObjectTable objects, IClientState clientState,
Framework framework, IDataManager gameData, IGameGui gui, CutsceneService cutscene)
: base(nameof(ActorService), tracker, StartTimeType.Actors,
() => new ActorManager(pi, objects, clientState, framework, gameData, gui, idx => (short)cutscene.GetParentIndex(idx)))
{ }

View file

@ -3,9 +3,9 @@ using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Numerics;
using Dalamud.Data;
using Dalamud.Interface;
using Dalamud.Interface.Internal.Notifications;
using Dalamud.Plugin.Services;
using ImGuiNET;
using OtterGui;
using OtterGui.Classes;
@ -21,10 +21,10 @@ namespace Penumbra.UI.AdvancedWindow;
public class FileEditor<T> where T : class, IWritable
{
private readonly FileDialogService _fileDialog;
private readonly DataManager _gameData;
private readonly IDataManager _gameData;
private readonly ModEditWindow _owner;
public FileEditor(ModEditWindow owner, DataManager gameData, Configuration config, FileDialogService fileDialog, string tabName,
public FileEditor(ModEditWindow owner, IDataManager gameData, Configuration config, FileDialogService fileDialog, string tabName,
string fileType, Func<IReadOnlyList<FileRegistry>> getFiles, Func<T, bool, bool> drawEdit, Func<string> getInitialPath,
Func<byte[], T?> parseFile)
{

View file

@ -3,10 +3,10 @@ using System.IO;
using System.Linq;
using System.Numerics;
using System.Text;
using Dalamud.Data;
using Dalamud.Interface;
using Dalamud.Interface.Components;
using Dalamud.Interface.Windowing;
using Dalamud.Plugin.Services;
using ImGuiNET;
using OtterGui;
using OtterGui.Raii;
@ -518,7 +518,7 @@ public partial class ModEditWindow : Window, IDisposable
return new FullPath(path);
}
public ModEditWindow(PerformanceTracker performance, FileDialogService fileDialog, ItemSwapTab itemSwapTab, DataManager gameData,
public ModEditWindow(PerformanceTracker performance, FileDialogService fileDialog, ItemSwapTab itemSwapTab, IDataManager gameData,
Configuration config, ModEditor editor, ResourceTreeFactory resourceTreeFactory, MetaFileManager metaFileManager,
StainService stainService, ActiveCollections activeCollections, UiBuilder uiBuilder, DalamudServices dalamud, ModMergeTab modMergeTab,
CommunicatorService communicator, TextureManager textures)

View file

@ -2,8 +2,8 @@ using System;
using System.Collections.Generic;
using System.Linq;
using System.Numerics;
using Dalamud.Data;
using Dalamud.Interface;
using Dalamud.Plugin.Services;
using Dalamud.Utility;
using FFXIVClientStructs.FFXIV.Client.Graphics.Scene;
using ImGuiNET;
@ -54,10 +54,10 @@ public class ChangedItemDrawer : IDisposable
private readonly Dictionary<ChangedItemIcon, TextureWrap> _icons = new(16);
private float _smallestIconWidth;
public ChangedItemDrawer(UiBuilder uiBuilder, DataManager gameData, CommunicatorService communicator, Configuration config)
public ChangedItemDrawer(UiBuilder uiBuilder, IDataManager gameData, ITextureProvider textureProvider, CommunicatorService communicator, Configuration config)
{
_items = gameData.GetExcelSheet<Item>()!;
uiBuilder.RunWhenUiPrepared(() => CreateEquipSlotIcons(uiBuilder, gameData), true);
uiBuilder.RunWhenUiPrepared(() => CreateEquipSlotIcons(uiBuilder, gameData, textureProvider), true);
_communicator = communicator;
_config = config;
}
@ -321,7 +321,7 @@ public class ChangedItemDrawer : IDisposable
};
/// <summary> Initialize the icons. </summary>
private bool CreateEquipSlotIcons(UiBuilder uiBuilder, DataManager gameData)
private bool CreateEquipSlotIcons(UiBuilder uiBuilder, IDataManager gameData, ITextureProvider textureProvider)
{
using var equipTypeIcons = uiBuilder.LoadUld("ui/uld/ArmouryBoard.uld");
@ -345,11 +345,11 @@ public class ChangedItemDrawer : IDisposable
Add(ChangedItemIcon.Neck, equipTypeIcons.LoadTexturePart("ui/uld/ArmouryBoard_hr1.tex", 9));
Add(ChangedItemIcon.Wrists, equipTypeIcons.LoadTexturePart("ui/uld/ArmouryBoard_hr1.tex", 10));
Add(ChangedItemIcon.Finger, equipTypeIcons.LoadTexturePart("ui/uld/ArmouryBoard_hr1.tex", 11));
Add(ChangedItemIcon.Monster, gameData.GetImGuiTexture("ui/icon/062000/062042_hr1.tex"));
Add(ChangedItemIcon.Demihuman, gameData.GetImGuiTexture("ui/icon/062000/062041_hr1.tex"));
Add(ChangedItemIcon.Customization, gameData.GetImGuiTexture("ui/icon/062000/062043_hr1.tex"));
Add(ChangedItemIcon.Action, gameData.GetImGuiTexture("ui/icon/062000/062001_hr1.tex"));
Add(AllFlags, gameData.GetImGuiTexture("ui/icon/114000/114052_hr1.tex"));
Add(ChangedItemIcon.Monster, textureProvider.GetTextureFromGame("ui/icon/062000/062042_hr1.tex", true));
Add(ChangedItemIcon.Demihuman, textureProvider.GetTextureFromGame("ui/icon/062000/062041_hr1.tex", true));
Add(ChangedItemIcon.Customization, textureProvider.GetTextureFromGame("ui/icon/062000/062043_hr1.tex", true));
Add(ChangedItemIcon.Action, textureProvider.GetTextureFromGame("ui/icon/062000/062001_hr1.tex", true));
Add(AllFlags, textureProvider.GetTextureFromGame("ui/icon/114000/114052_hr1.tex", true));
var unk = gameData.GetFile<TexFile>("ui/uld/levelup2_hr1.tex");
if (unk == null)

View file

@ -26,7 +26,7 @@ public sealed class CollectionPanel : IDisposable
private readonly ActiveCollections _active;
private readonly CollectionSelector _selector;
private readonly ActorService _actors;
private readonly TargetManager _targets;
private readonly ITargetManager _targets;
private readonly IndividualAssignmentUi _individualAssignmentUi;
private readonly InheritanceUi _inheritanceUi;
private readonly ModStorage _mods;
@ -40,7 +40,7 @@ public sealed class CollectionPanel : IDisposable
private int _draggedIndividualAssignment = -1;
public CollectionPanel(DalamudPluginInterface pi, CommunicatorService communicator, CollectionManager manager,
CollectionSelector selector, ActorService actors, TargetManager targets, ModStorage mods)
CollectionSelector selector, ActorService actors, ITargetManager targets, ModStorage mods)
{
_collections = manager.Storage;
_active = manager.Active;

View file

@ -41,7 +41,7 @@ public class CollectionsTab : IDisposable, ITab
}
public CollectionsTab(DalamudPluginInterface pi, Configuration configuration, CommunicatorService communicator,
CollectionManager collectionManager, ModStorage modStorage, ActorService actors, TargetManager targets, TutorialService tutorial)
CollectionManager collectionManager, ModStorage modStorage, ActorService actors, ITargetManager targets, TutorialService tutorial)
{
_config = configuration;
_tutorial = tutorial;

View file

@ -5,8 +5,8 @@ using Penumbra.UI.Classes;
using System;
using System.Linq;
using System.Numerics;
using Dalamud.Game.ClientState;
using Dalamud.Interface;
using Dalamud.Plugin.Services;
using OtterGui.Widgets;
using Penumbra.Api.Enums;
using Penumbra.Interop.Services;
@ -27,11 +27,11 @@ public class ModsTab : ITab
private readonly ActiveCollections _activeCollections;
private readonly RedrawService _redrawService;
private readonly Configuration _config;
private readonly ClientState _clientState;
private readonly IClientState _clientState;
private readonly CollectionSelectHeader _collectionHeader;
public ModsTab(ModManager modManager, CollectionManager collectionManager, ModFileSystemSelector selector, ModPanel panel,
TutorialService tutorial, RedrawService redrawService, Configuration config, ClientState clientState,
TutorialService tutorial, RedrawService redrawService, Configuration config, IClientState clientState,
CollectionSelectHeader collectionHeader)
{
_modManager = modManager;

View file

@ -2,7 +2,6 @@ using System;
using System.Linq;
using System.Numerics;
using Dalamud.Game;
using Dalamud.Interface;
using FFXIVClientStructs.FFXIV.Client.System.Resource;
using FFXIVClientStructs.FFXIV.Client.System.Resource.Handle;
using FFXIVClientStructs.Interop;
@ -20,9 +19,9 @@ public class ResourceTab : ITab
{
private readonly Configuration _config;
private readonly ResourceManagerService _resourceManager;
private readonly SigScanner _sigScanner;
private readonly ISigScanner _sigScanner;
public ResourceTab(Configuration config, ResourceManagerService resourceManager, SigScanner sigScanner)
public ResourceTab(Configuration config, ResourceManagerService resourceManager, ISigScanner sigScanner)
{
_config = config;
_resourceManager = resourceManager;