Add a configuration to disable showing mods in the lobby and at the aesthetician.

This commit is contained in:
Ottermandias 2024-06-11 16:32:29 +02:00
parent c8ea33f8dd
commit 447735f609
3 changed files with 17 additions and 0 deletions

View file

@ -41,6 +41,7 @@ public class Configuration : IPluginConfiguration, ISavable
public bool HideUiWhenUiHidden { get; set; } = false;
public bool UseDalamudUiTextureRedirection { get; set; } = true;
public bool ShowModsInLobby { get; set; } = true;
public bool UseCharacterCollectionInMainWindow { get; set; } = true;
public bool UseCharacterCollectionsInCards { get; set; } = true;
public bool UseCharacterCollectionInInspect { get; set; } = true;

View file

@ -1,6 +1,7 @@
using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Client.Graphics.Scene;
using FFXIVClientStructs.FFXIV.Client.UI.Agent;
using Microsoft.VisualBasic;
using OtterGui.Services;
using Penumbra.Collections;
using Penumbra.Collections.Manager;
@ -110,6 +111,12 @@ public sealed unsafe class CollectionResolver(
return false;
}
if (!config.ShowModsInLobby)
{
ret = ModCollection.Empty.ToResolveData(gameObject);
return true;
}
var notYetReady = false;
var lobby = AgentLobby.Instance();
if (lobby != null)
@ -148,6 +155,12 @@ public sealed unsafe class CollectionResolver(
return false;
}
if (!config.ShowModsInLobby)
{
ret = ModCollection.Empty.ToResolveData(gameObject);
return true;
}
var player = actors.GetCurrentPlayer();
var notYetReady = false;
var collection = (player.IsValid ? CollectionByIdentifier(player) : null)

View file

@ -449,6 +449,9 @@ public class SettingsTab : ITab
Checkbox("Use Interface Collection for other Plugin UIs",
"Use the collection assigned to your interface for other plugins requesting UI-textures and icons through Dalamud.",
_dalamudSubstitutionProvider.Enabled, _dalamudSubstitutionProvider.Set);
Checkbox($"Use {TutorialService.AssignedCollections} in Lobby",
"If this is disabled, no mods are applied to characters in the lobby or at the aesthetician.",
_config.ShowModsInLobby, v => _config.ShowModsInLobby = v);
Checkbox($"Use {TutorialService.AssignedCollections} in Character Window",
"Use the individual collection for your characters name or the Your Character collection in your main character window, if it is set.",
_config.UseCharacterCollectionInMainWindow, v => _config.UseCharacterCollectionInMainWindow = v);