mirror of
https://github.com/xivdev/Penumbra.git
synced 2026-02-23 08:17:59 +01:00
Some updates.
This commit is contained in:
parent
c2e74ed382
commit
221b18751d
121 changed files with 338 additions and 328 deletions
|
|
@ -1,5 +1,5 @@
|
|||
using Dalamud.Interface;
|
||||
using Dalamud.Interface.Internal.Notifications;
|
||||
using Dalamud.Interface.ImGuiNotification;
|
||||
using Dalamud.Plugin.Services;
|
||||
using ImGuiNET;
|
||||
using OtterGui;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
using Dalamud.Interface.Internal.Notifications;
|
||||
using Dalamud.Interface.ImGuiNotification;
|
||||
using ImGuiNET;
|
||||
using OtterGui;
|
||||
using OtterGui.Classes;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
using Dalamud.Interface;
|
||||
using Dalamud.Interface.Internal.Notifications;
|
||||
using Dalamud.Interface.ImGuiNotification;
|
||||
using FFXIVClientStructs.FFXIV.Client.Graphics.Scene;
|
||||
using ImGuiNET;
|
||||
using Newtonsoft.Json.Linq;
|
||||
|
|
|
|||
|
|
@ -287,7 +287,7 @@ public partial class ModEditWindow
|
|||
{
|
||||
fixed (ushort* v2 = &v)
|
||||
{
|
||||
return ImGui.InputScalar(label, ImGuiDataType.U16, (nint)v2, IntPtr.Zero, IntPtr.Zero, "%04X", flags);
|
||||
return ImGui.InputScalar(label, ImGuiDataType.U16, (nint)v2, nint.Zero, nint.Zero, "%04X", flags);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
using Dalamud.Interface.Internal.Notifications;
|
||||
using Dalamud.Interface;
|
||||
using Dalamud.Interface.ImGuiNotification;
|
||||
using ImGuiNET;
|
||||
using Lumina.Misc;
|
||||
using OtterGui.Raii;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
using Dalamud.Interface;
|
||||
using Dalamud.Interface.Internal;
|
||||
using Dalamud.Interface.Textures;
|
||||
using Dalamud.Interface.Textures.TextureWraps;
|
||||
using Dalamud.Plugin.Services;
|
||||
using Dalamud.Utility;
|
||||
using FFXIVClientStructs.FFXIV.Client.Graphics.Scene;
|
||||
|
|
@ -121,7 +122,7 @@ public class ChangedItemDrawer : IDisposable, IUiService
|
|||
public static Vector2 TypeFilterIconSize
|
||||
=> new(2 * ImGui.GetTextLineHeight());
|
||||
|
||||
public ChangedItemDrawer(UiBuilder uiBuilder, IDataManager gameData, ITextureProvider textureProvider, CommunicatorService communicator,
|
||||
public ChangedItemDrawer(IUiBuilder uiBuilder, IDataManager gameData, ITextureProvider textureProvider, CommunicatorService communicator,
|
||||
Configuration config)
|
||||
{
|
||||
_items = gameData.GetExcelSheet<Item>()!;
|
||||
|
|
@ -417,7 +418,7 @@ public class ChangedItemDrawer : IDisposable, IUiService
|
|||
};
|
||||
|
||||
/// <summary> Initialize the icons. </summary>
|
||||
private bool CreateEquipSlotIcons(UiBuilder uiBuilder, IDataManager gameData, ITextureProvider textureProvider)
|
||||
private bool CreateEquipSlotIcons(IUiBuilder uiBuilder, IDataManager gameData, ITextureProvider textureProvider)
|
||||
{
|
||||
using var equipTypeIcons = uiBuilder.LoadUld("ui/uld/ArmouryBoard.uld");
|
||||
|
||||
|
|
@ -441,20 +442,20 @@ public class ChangedItemDrawer : IDisposable, IUiService
|
|||
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, 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(ChangedItemIcon.Emote, LoadEmoteTexture(gameData, uiBuilder));
|
||||
Add(ChangedItemIcon.Unknown, LoadUnknownTexture(gameData, uiBuilder));
|
||||
Add(AllFlags, textureProvider.GetTextureFromGame("ui/icon/114000/114052_hr1.tex", true));
|
||||
Add(ChangedItemIcon.Monster, textureProvider.CreateFromTexFile(gameData.GetFile<TexFile>("ui/icon/062000/062042_hr1.tex")!));
|
||||
Add(ChangedItemIcon.Demihuman, textureProvider.CreateFromTexFile(gameData.GetFile<TexFile>("ui/icon/062000/062041_hr1.tex")!));
|
||||
Add(ChangedItemIcon.Customization, textureProvider.CreateFromTexFile(gameData.GetFile<TexFile>("ui/icon/062000/062043_hr1.tex")!));
|
||||
Add(ChangedItemIcon.Action, textureProvider.CreateFromTexFile(gameData.GetFile<TexFile>("ui/icon/062000/062001_hr1.tex")!));
|
||||
Add(ChangedItemIcon.Emote, LoadEmoteTexture(gameData, textureProvider));
|
||||
Add(ChangedItemIcon.Unknown, LoadUnknownTexture(gameData, textureProvider));
|
||||
Add(AllFlags, textureProvider.CreateFromTexFile(gameData.GetFile<TexFile>("ui/icon/114000/114052_hr1.tex")!));
|
||||
|
||||
_smallestIconWidth = _icons.Values.Min(i => i.Width);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private static unsafe IDalamudTextureWrap? LoadUnknownTexture(IDataManager gameData, UiBuilder uiBuilder)
|
||||
private static unsafe IDalamudTextureWrap? LoadUnknownTexture(IDataManager gameData, ITextureProvider textureProvider)
|
||||
{
|
||||
var unk = gameData.GetFile<TexFile>("ui/uld/levelup2_hr1.tex");
|
||||
if (unk == null)
|
||||
|
|
@ -466,10 +467,10 @@ public class ChangedItemDrawer : IDisposable, IUiService
|
|||
for (var y = 0; y < unk.Header.Height; ++y)
|
||||
image.AsSpan(4 * y * unk.Header.Width, 4 * unk.Header.Width).CopyTo(bytes.AsSpan(4 * y * unk.Header.Height + diff));
|
||||
|
||||
return uiBuilder.LoadImageRaw(bytes, unk.Header.Height, unk.Header.Height, 4);
|
||||
return textureProvider.CreateFromRaw(RawImageSpecification.Rgba32(unk.Header.Height, unk.Header.Height), bytes, "Penumbra.UnkItemIcon");
|
||||
}
|
||||
|
||||
private static unsafe IDalamudTextureWrap? LoadEmoteTexture(IDataManager gameData, UiBuilder uiBuilder)
|
||||
private static unsafe IDalamudTextureWrap? LoadEmoteTexture(IDataManager gameData, ITextureProvider textureProvider)
|
||||
{
|
||||
var emote = gameData.GetFile<TexFile>("ui/icon/000000/000019_hr1.tex");
|
||||
if (emote == null)
|
||||
|
|
@ -486,6 +487,6 @@ public class ChangedItemDrawer : IDisposable, IUiService
|
|||
}
|
||||
}
|
||||
|
||||
return uiBuilder.LoadImageRaw(image2, emote.Header.Width, emote.Header.Height, 4);
|
||||
return textureProvider.CreateFromRaw(RawImageSpecification.Rgba32(emote.Header.Width, emote.Header.Height), image2, "Penumbra.EmoteItemIcon");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ using Dalamud.Game.ClientState.Objects;
|
|||
using Dalamud.Interface;
|
||||
using Dalamud.Interface.Components;
|
||||
using Dalamud.Interface.GameFonts;
|
||||
using Dalamud.Interface.Internal.Notifications;
|
||||
using Dalamud.Interface.ImGuiNotification;
|
||||
using Dalamud.Interface.ManagedFontAtlas;
|
||||
using Dalamud.Interface.Utility;
|
||||
using Dalamud.Plugin;
|
||||
|
|
@ -21,7 +21,7 @@ using Penumbra.UI.Classes;
|
|||
namespace Penumbra.UI.CollectionTab;
|
||||
|
||||
public sealed class CollectionPanel(
|
||||
DalamudPluginInterface pi,
|
||||
IDalamudPluginInterface pi,
|
||||
CommunicatorService communicator,
|
||||
CollectionManager manager,
|
||||
CollectionSelector selector,
|
||||
|
|
@ -318,7 +318,7 @@ public sealed class CollectionPanel(
|
|||
var button = ImGui.Button(text, width) || ImGui.IsItemClicked(ImGuiMouseButton.Right);
|
||||
var hovered = redundancy.Length > 0 && ImGui.IsItemHovered();
|
||||
DrawIndividualDragSource(text, id);
|
||||
DrawIndividualDragTarget(text, id);
|
||||
DrawIndividualDragTarget(id);
|
||||
if (!invalid)
|
||||
{
|
||||
selector.DragTargetAssignment(type, id);
|
||||
|
|
@ -349,7 +349,7 @@ public sealed class CollectionPanel(
|
|||
_draggedIndividualAssignment = _active.Individuals.Index(id);
|
||||
}
|
||||
|
||||
private void DrawIndividualDragTarget(string text, ActorIdentifier id)
|
||||
private void DrawIndividualDragTarget(ActorIdentifier id)
|
||||
{
|
||||
if (!id.IsValid)
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ namespace Penumbra.UI;
|
|||
|
||||
public sealed class ConfigWindow : Window, IUiService
|
||||
{
|
||||
private readonly DalamudPluginInterface _pluginInterface;
|
||||
private readonly IDalamudPluginInterface _pluginInterface;
|
||||
private readonly Configuration _config;
|
||||
private readonly PerformanceTracker _tracker;
|
||||
private readonly ValidityChecker _validityChecker;
|
||||
|
|
@ -24,7 +24,7 @@ public sealed class ConfigWindow : Window, IUiService
|
|||
private ConfigTabBar _configTabs = null!;
|
||||
private string? _lastException;
|
||||
|
||||
public ConfigWindow(PerformanceTracker tracker, DalamudPluginInterface pi, Configuration config, ValidityChecker checker,
|
||||
public ConfigWindow(PerformanceTracker tracker, IDalamudPluginInterface pi, Configuration config, ValidityChecker checker,
|
||||
TutorialService tutorial)
|
||||
: base(GetLabel(checker))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
using Dalamud.Interface;
|
||||
using Dalamud.Interface.Internal;
|
||||
using Dalamud.Interface.Textures.TextureWraps;
|
||||
using Dalamud.Plugin;
|
||||
using Dalamud.Plugin.Services;
|
||||
using OtterGui.Services;
|
||||
|
|
@ -13,23 +13,25 @@ namespace Penumbra.UI;
|
|||
public class LaunchButton : IDisposable, IUiService
|
||||
{
|
||||
private readonly ConfigWindow _configWindow;
|
||||
private readonly UiBuilder _uiBuilder;
|
||||
private readonly IUiBuilder _uiBuilder;
|
||||
private readonly ITitleScreenMenu _title;
|
||||
private readonly string _fileName;
|
||||
private readonly ITextureProvider _textureProvider;
|
||||
|
||||
private IDalamudTextureWrap? _icon;
|
||||
private TitleScreenMenuEntry? _entry;
|
||||
private IDalamudTextureWrap? _icon;
|
||||
private IReadOnlyTitleScreenMenuEntry? _entry;
|
||||
|
||||
/// <summary>
|
||||
/// Register the launch button to be created on the next draw event.
|
||||
/// </summary>
|
||||
public LaunchButton(DalamudPluginInterface pi, ITitleScreenMenu title, ConfigWindow ui)
|
||||
public LaunchButton(IDalamudPluginInterface pi, ITitleScreenMenu title, ConfigWindow ui, ITextureProvider textureProvider)
|
||||
{
|
||||
_uiBuilder = pi.UiBuilder;
|
||||
_configWindow = ui;
|
||||
_title = title;
|
||||
_icon = null;
|
||||
_entry = null;
|
||||
_uiBuilder = pi.UiBuilder;
|
||||
_configWindow = ui;
|
||||
_textureProvider = textureProvider;
|
||||
_title = title;
|
||||
_icon = null;
|
||||
_entry = null;
|
||||
|
||||
_fileName = Path.Combine(pi.AssemblyLocation.DirectoryName!, "tsmLogo.png");
|
||||
_uiBuilder.Draw += CreateEntry;
|
||||
|
|
@ -49,7 +51,8 @@ public class LaunchButton : IDisposable, IUiService
|
|||
{
|
||||
try
|
||||
{
|
||||
_icon = _uiBuilder.LoadImage(_fileName);
|
||||
// TODO: update when API updated.
|
||||
_icon = _textureProvider.GetFromFile(_fileName).RentAsync().Result;
|
||||
if (_icon != null)
|
||||
_entry = _title.AddEntry("Manage Penumbra", _icon, OnTriggered);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
using Dalamud.Interface;
|
||||
using Dalamud.Interface.Internal.Notifications;
|
||||
using Dalamud.Interface.ImGuiNotification;
|
||||
using ImGuiNET;
|
||||
using OtterGui;
|
||||
using OtterGui.Classes;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
using Dalamud.Interface;
|
||||
using Dalamud.Interface.DragDrop;
|
||||
using Dalamud.Interface.Internal.Notifications;
|
||||
using Dalamud.Interface.ImGuiNotification;
|
||||
using Dalamud.Plugin.Services;
|
||||
using ImGuiNET;
|
||||
using OtterGui;
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ public class ModPanel : IDisposable, IUiService
|
|||
private readonly ModPanelTabBar _tabs;
|
||||
private bool _resetCursor;
|
||||
|
||||
public ModPanel(DalamudPluginInterface pi, ModFileSystemSelector selector, ModEditWindow editWindow, ModPanelTabBar tabs,
|
||||
public ModPanel(IDalamudPluginInterface pi, ModFileSystemSelector selector, ModEditWindow editWindow, ModPanelTabBar tabs,
|
||||
MultiModPanel multiModPanel, CommunicatorService communicator)
|
||||
{
|
||||
_selector = selector;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
using Dalamud.Interface;
|
||||
using Dalamud.Interface.Components;
|
||||
using Dalamud.Interface.Internal.Notifications;
|
||||
using Dalamud.Interface.ImGuiNotification;
|
||||
using ImGuiNET;
|
||||
using OtterGui;
|
||||
using OtterGui.Raii;
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ public class ModPanelHeader : IDisposable
|
|||
private readonly CommunicatorService _communicator;
|
||||
private float _lastPreSettingsHeight = 0;
|
||||
|
||||
public ModPanelHeader(DalamudPluginInterface pi, CommunicatorService communicator)
|
||||
public ModPanelHeader(IDalamudPluginInterface pi, CommunicatorService communicator)
|
||||
{
|
||||
_communicator = communicator;
|
||||
_nameFont = pi.UiBuilder.FontAtlas.NewGameFontHandle(new GameFontStyle(GameFontFamilyAndSize.Jupiter23));
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
using Dalamud.Interface;
|
||||
using Dalamud.Interface.Internal.Notifications;
|
||||
using Dalamud.Interface.ImGuiNotification;
|
||||
using ImGuiNET;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
|
|
|
|||
|
|
@ -271,7 +271,7 @@ public sealed class ResourceWatcher : IDisposable, ITab, IUiService
|
|||
|
||||
public unsafe string Name(ResolveData resolve, string none = "")
|
||||
{
|
||||
if (resolve.AssociatedGameObject == IntPtr.Zero || !_actors.Awaiter.IsCompletedSuccessfully)
|
||||
if (resolve.AssociatedGameObject == nint.Zero || !_actors.Awaiter.IsCompletedSuccessfully)
|
||||
return none;
|
||||
|
||||
try
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ public sealed class CollectionsTab : IDisposable, ITab, IUiService
|
|||
}
|
||||
}
|
||||
|
||||
public CollectionsTab(DalamudPluginInterface pi, Configuration configuration, CommunicatorService communicator, IncognitoService incognito,
|
||||
public CollectionsTab(IDalamudPluginInterface pi, Configuration configuration, CommunicatorService communicator, IncognitoService incognito,
|
||||
CollectionManager collectionManager, ModStorage modStorage, ActorManager actors, ITargetManager targets, TutorialService tutorial, SaveService saveService)
|
||||
{
|
||||
_config = configuration.Ephemeral;
|
||||
|
|
|
|||
|
|
@ -37,7 +37,6 @@ using Penumbra.Util;
|
|||
using static OtterGui.Raii.ImRaii;
|
||||
using CharacterBase = FFXIVClientStructs.FFXIV.Client.Graphics.Scene.CharacterBase;
|
||||
using CharacterUtility = Penumbra.Interop.Services.CharacterUtility;
|
||||
using ObjectKind = Dalamud.Game.ClientState.Objects.Enums.ObjectKind;
|
||||
using ResidentResourceManager = Penumbra.Interop.Services.ResidentResourceManager;
|
||||
using ImGuiClip = OtterGui.ImGuiClip;
|
||||
using Penumbra.Api.IpcTester;
|
||||
|
|
@ -437,8 +436,8 @@ public class DebugTab : Window, ITab, IUiService
|
|||
: $"0x{(nint)((Character*)obj.Address)->GameObject.GetDrawObject():X}");
|
||||
var identifier = _actors.FromObject(obj, out _, false, true, false);
|
||||
ImGuiUtil.DrawTableColumn(_actors.ToString(identifier));
|
||||
var id = obj.AsObject->ObjectKind == (byte)ObjectKind.BattleNpc
|
||||
? $"{identifier.DataId} | {obj.AsObject->DataID}"
|
||||
var id = obj.AsObject->ObjectKind is ObjectKind.BattleNpc
|
||||
? $"{identifier.DataId} | {obj.AsObject->BaseId}"
|
||||
: identifier.DataId.ToString();
|
||||
ImGuiUtil.DrawTableColumn(id);
|
||||
}
|
||||
|
|
@ -587,11 +586,11 @@ public class DebugTab : Window, ITab, IUiService
|
|||
if (table)
|
||||
{
|
||||
ImGuiUtil.DrawTableColumn("Group Members");
|
||||
ImGuiUtil.DrawTableColumn(GroupManager.Instance()->MemberCount.ToString());
|
||||
ImGuiUtil.DrawTableColumn(GroupManager.Instance()->MainGroup.MemberCount.ToString());
|
||||
for (var i = 0; i < 8; ++i)
|
||||
{
|
||||
ImGuiUtil.DrawTableColumn($"Member #{i}");
|
||||
var member = GroupManager.Instance()->GetPartyMemberByIndex(i);
|
||||
var member = GroupManager.Instance()->MainGroup.GetPartyMemberByIndex(i);
|
||||
ImGuiUtil.DrawTableColumn(member == null ? "NULL" : new ByteString(member->Name).ToString());
|
||||
}
|
||||
}
|
||||
|
|
@ -612,7 +611,7 @@ public class DebugTab : Window, ITab, IUiService
|
|||
if (table)
|
||||
for (var i = 0; i < 8; ++i)
|
||||
{
|
||||
ref var c = ref agent->Data->CharacterArraySpan[i];
|
||||
ref var c = ref agent->Data->Characters[i];
|
||||
ImGuiUtil.DrawTableColumn($"Character {i}");
|
||||
var name = c.Name1.ToString();
|
||||
ImGuiUtil.DrawTableColumn(name.Length == 0 ? "NULL" : $"{name} ({c.WorldId})");
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ using OtterGui.Raii;
|
|||
using Penumbra.UI.Classes;
|
||||
using Dalamud.Interface;
|
||||
using Dalamud.Plugin.Services;
|
||||
using FFXIVClientStructs.FFXIV.Client.Game.Housing;
|
||||
using FFXIVClientStructs.FFXIV.Client.Game;
|
||||
using OtterGui.Services;
|
||||
using OtterGui.Widgets;
|
||||
using Penumbra.Api.Enums;
|
||||
|
|
|
|||
|
|
@ -121,7 +121,7 @@ public class ResourceTab(Configuration config, ResourceManagerService resourceMa
|
|||
}
|
||||
|
||||
/// <summary> Obtain a label for an extension node. </summary>
|
||||
private static string GetNodeLabel(uint label, uint type, ulong count)
|
||||
private static string GetNodeLabel(uint label, uint type, int count)
|
||||
{
|
||||
var (lowest, mid1, mid2, highest) = Functions.SplitBytes(type);
|
||||
return highest == 0
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ public class SettingsTab : ITab, IUiService
|
|||
private readonly DalamudSubstitutionProvider _dalamudSubstitutionProvider;
|
||||
private readonly FileCompactor _compactor;
|
||||
private readonly DalamudConfigService _dalamudConfig;
|
||||
private readonly DalamudPluginInterface _pluginInterface;
|
||||
private readonly IDalamudPluginInterface _pluginInterface;
|
||||
private readonly IDataManager _gameData;
|
||||
private readonly PredefinedTagManager _predefinedTagManager;
|
||||
private readonly CrashHandlerService _crashService;
|
||||
|
|
@ -51,7 +51,7 @@ public class SettingsTab : ITab, IUiService
|
|||
|
||||
private readonly TagButtons _sharedTags = new();
|
||||
|
||||
public SettingsTab(DalamudPluginInterface pluginInterface, Configuration config, FontReloader fontReloader, TutorialService tutorial,
|
||||
public SettingsTab(IDalamudPluginInterface pluginInterface, Configuration config, FontReloader fontReloader, TutorialService tutorial,
|
||||
Penumbra penumbra, FileDialogService fileDialog, ModManager modManager, ModFileSystemSelector selector,
|
||||
CharacterUtility characterUtility, ResidentResourceManager residentResources, ModExportManager modExportManager, HttpApi httpApi,
|
||||
DalamudSubstitutionProvider dalamudSubstitutionProvider, FileCompactor compactor, DalamudConfigService dalamudConfig,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
using Dalamud.Interface.Internal.Notifications;
|
||||
using Dalamud.Interface.ImGuiNotification;
|
||||
using Dalamud.Interface.Utility;
|
||||
using ImGuiNET;
|
||||
using OtterGui;
|
||||
|
|
|
|||
|
|
@ -9,13 +9,13 @@ namespace Penumbra.UI;
|
|||
|
||||
public class PenumbraWindowSystem : IDisposable, IUiService
|
||||
{
|
||||
private readonly UiBuilder _uiBuilder;
|
||||
private readonly IUiBuilder _uiBuilder;
|
||||
private readonly WindowSystem _windowSystem;
|
||||
private readonly FileDialogService _fileDialog;
|
||||
public readonly ConfigWindow Window;
|
||||
public readonly PenumbraChangelog Changelog;
|
||||
|
||||
public PenumbraWindowSystem(DalamudPluginInterface pi, Configuration config, PenumbraChangelog changelog, ConfigWindow window,
|
||||
public PenumbraWindowSystem(IDalamudPluginInterface pi, Configuration config, PenumbraChangelog changelog, ConfigWindow window,
|
||||
LaunchButton _, ModEditWindow editWindow, FileDialogService fileDialog, ImportPopup importPopup, DebugTab debugTab)
|
||||
{
|
||||
_uiBuilder = pi.UiBuilder;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue