remove palette+ support
This commit is contained in:
@@ -42,11 +42,6 @@ public sealed class IpcManager : DisposableMediatorSubscriberBase
|
|||||||
private readonly ICallGateSubscriber<string, object> _honorificLocalCharacterTitleChanged;
|
private readonly ICallGateSubscriber<string, object> _honorificLocalCharacterTitleChanged;
|
||||||
private readonly ICallGateSubscriber<object> _honorificReady;
|
private readonly ICallGateSubscriber<object> _honorificReady;
|
||||||
private readonly ICallGateSubscriber<Character, string, object> _honorificSetCharacterTitle;
|
private readonly ICallGateSubscriber<Character, string, object> _honorificSetCharacterTitle;
|
||||||
private readonly ICallGateSubscriber<string> _palettePlusApiVersion;
|
|
||||||
private readonly ICallGateSubscriber<Character, string> _palettePlusBuildCharaPalette;
|
|
||||||
private readonly ICallGateSubscriber<Character, string, object> _palettePlusPaletteChanged;
|
|
||||||
private readonly ICallGateSubscriber<Character, object> _palettePlusRemoveCharaPalette;
|
|
||||||
private readonly ICallGateSubscriber<Character, string, object> _palettePlusSetCharaPalette;
|
|
||||||
private readonly FuncSubscriber<string, string, Dictionary<string, string>, string, int, PenumbraApiEc> _penumbraAddTemporaryMod;
|
private readonly FuncSubscriber<string, string, Dictionary<string, string>, string, int, PenumbraApiEc> _penumbraAddTemporaryMod;
|
||||||
private readonly FuncSubscriber<string, int, bool, PenumbraApiEc> _penumbraAssignTemporaryCollection;
|
private readonly FuncSubscriber<string, int, bool, PenumbraApiEc> _penumbraAssignTemporaryCollection;
|
||||||
private readonly FuncSubscriber<string, string, TextureType, bool, Task> _penumbraConvertTextureFile;
|
private readonly FuncSubscriber<string, string, TextureType, bool, Task> _penumbraConvertTextureFile;
|
||||||
@@ -73,7 +68,6 @@ public sealed class IpcManager : DisposableMediatorSubscriberBase
|
|||||||
private bool _glamourerAvailable = false;
|
private bool _glamourerAvailable = false;
|
||||||
private bool _heelsAvailable = false;
|
private bool _heelsAvailable = false;
|
||||||
private bool _honorificAvailable = false;
|
private bool _honorificAvailable = false;
|
||||||
private bool _palettePlusAvailable = false;
|
|
||||||
private bool _penumbraAvailable = false;
|
private bool _penumbraAvailable = false;
|
||||||
private bool _shownGlamourerUnavailable = false;
|
private bool _shownGlamourerUnavailable = false;
|
||||||
private bool _shownPenumbraUnavailable = false;
|
private bool _shownPenumbraUnavailable = false;
|
||||||
@@ -132,14 +126,6 @@ public sealed class IpcManager : DisposableMediatorSubscriberBase
|
|||||||
|
|
||||||
_customizePlusOnScaleUpdate.Subscribe(OnCustomizePlusScaleChange);
|
_customizePlusOnScaleUpdate.Subscribe(OnCustomizePlusScaleChange);
|
||||||
|
|
||||||
_palettePlusApiVersion = pi.GetIpcSubscriber<string>("PalettePlus.ApiVersion");
|
|
||||||
_palettePlusBuildCharaPalette = pi.GetIpcSubscriber<Character, string>("PalettePlus.BuildCharaPaletteOrEmpty");
|
|
||||||
_palettePlusSetCharaPalette = pi.GetIpcSubscriber<Character, string, object>("PalettePlus.SetCharaPalette");
|
|
||||||
_palettePlusRemoveCharaPalette = pi.GetIpcSubscriber<Character, object>("PalettePlus.RemoveCharaPalette");
|
|
||||||
_palettePlusPaletteChanged = pi.GetIpcSubscriber<Character, string, object>("PalettePlus.PaletteChanged");
|
|
||||||
|
|
||||||
_palettePlusPaletteChanged.Subscribe(OnPalettePlusPaletteChange);
|
|
||||||
|
|
||||||
_honorificApiVersion = pi.GetIpcSubscriber<(uint, uint)>("Honorific.ApiVersion");
|
_honorificApiVersion = pi.GetIpcSubscriber<(uint, uint)>("Honorific.ApiVersion");
|
||||||
_honorificGetLocalCharacterTitle = pi.GetIpcSubscriber<string>("Honorific.GetLocalCharacterTitle");
|
_honorificGetLocalCharacterTitle = pi.GetIpcSubscriber<string>("Honorific.GetLocalCharacterTitle");
|
||||||
_honorificClearCharacterTitle = pi.GetIpcSubscriber<Character, object>("Honorific.ClearCharacterTitle");
|
_honorificClearCharacterTitle = pi.GetIpcSubscriber<Character, object>("Honorific.ClearCharacterTitle");
|
||||||
@@ -180,8 +166,6 @@ public sealed class IpcManager : DisposableMediatorSubscriberBase
|
|||||||
|
|
||||||
public bool CheckHonorificApi() => _honorificAvailable;
|
public bool CheckHonorificApi() => _honorificAvailable;
|
||||||
|
|
||||||
public bool CheckPalettePlusApi() => _palettePlusAvailable;
|
|
||||||
|
|
||||||
public bool CheckPenumbraApi() => _penumbraAvailable;
|
public bool CheckPenumbraApi() => _penumbraAvailable;
|
||||||
|
|
||||||
public async Task CustomizePlusRevertAsync(IntPtr character)
|
public async Task CustomizePlusRevertAsync(IntPtr character)
|
||||||
@@ -433,51 +417,6 @@ public sealed class IpcManager : DisposableMediatorSubscriberBase
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<string> PalettePlusBuildPaletteAsync()
|
|
||||||
{
|
|
||||||
if (!CheckPalettePlusApi()) return string.Empty;
|
|
||||||
var palette = await _dalamudUtil.RunOnFrameworkThread(() => _palettePlusBuildCharaPalette.InvokeFunc(_dalamudUtil.GetPlayerCharacter())).ConfigureAwait(false);
|
|
||||||
if (string.IsNullOrEmpty(palette)) return string.Empty;
|
|
||||||
return Convert.ToBase64String(Encoding.UTF8.GetBytes(palette));
|
|
||||||
}
|
|
||||||
|
|
||||||
public async Task PalettePlusRemovePaletteAsync(IntPtr character)
|
|
||||||
{
|
|
||||||
if (!CheckPalettePlusApi()) return;
|
|
||||||
await _dalamudUtil.RunOnFrameworkThread(() =>
|
|
||||||
{
|
|
||||||
var gameObj = _dalamudUtil.CreateGameObject(character);
|
|
||||||
if (gameObj is Character c)
|
|
||||||
{
|
|
||||||
Logger.LogTrace("PalettePlus removing for {addr}", c.Address.ToString("X"));
|
|
||||||
_palettePlusRemoveCharaPalette!.InvokeAction(c);
|
|
||||||
}
|
|
||||||
}).ConfigureAwait(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async Task PalettePlusSetPaletteAsync(IntPtr character, string palette)
|
|
||||||
{
|
|
||||||
if (!CheckPalettePlusApi()) return;
|
|
||||||
string decodedPalette = Encoding.UTF8.GetString(Convert.FromBase64String(palette));
|
|
||||||
await _dalamudUtil.RunOnFrameworkThread(() =>
|
|
||||||
{
|
|
||||||
var gameObj = _dalamudUtil.CreateGameObject(character);
|
|
||||||
if (gameObj is Character c)
|
|
||||||
{
|
|
||||||
if (string.IsNullOrEmpty(decodedPalette))
|
|
||||||
{
|
|
||||||
Logger.LogTrace("PalettePlus removing for {addr}", c.Address.ToString("X"));
|
|
||||||
_palettePlusRemoveCharaPalette!.InvokeAction(c);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Logger.LogTrace("PalettePlus applying for {addr}", c.Address.ToString("X"));
|
|
||||||
_palettePlusSetCharaPalette!.InvokeAction(c, decodedPalette);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}).ConfigureAwait(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async Task PenumbraAssignTemporaryCollectionAsync(ILogger logger, string collName, int idx)
|
public async Task PenumbraAssignTemporaryCollectionAsync(ILogger logger, string collName, int idx)
|
||||||
{
|
{
|
||||||
if (!CheckPenumbraApi()) return;
|
if (!CheckPenumbraApi()) return;
|
||||||
@@ -637,7 +576,6 @@ public sealed class IpcManager : DisposableMediatorSubscriberBase
|
|||||||
_penumbraInit.Dispose();
|
_penumbraInit.Dispose();
|
||||||
_penumbraObjectIsRedrawn.Dispose();
|
_penumbraObjectIsRedrawn.Dispose();
|
||||||
_heelsOffsetUpdate.Unsubscribe(HeelsOffsetChange);
|
_heelsOffsetUpdate.Unsubscribe(HeelsOffsetChange);
|
||||||
_palettePlusPaletteChanged.Unsubscribe(OnPalettePlusPaletteChange);
|
|
||||||
_customizePlusOnScaleUpdate.Unsubscribe(OnCustomizePlusScaleChange);
|
_customizePlusOnScaleUpdate.Unsubscribe(OnCustomizePlusScaleChange);
|
||||||
_honorificLocalCharacterTitleChanged.Unsubscribe(OnHonorificLocalCharacterTitleChanged);
|
_honorificLocalCharacterTitleChanged.Unsubscribe(OnHonorificLocalCharacterTitleChanged);
|
||||||
_honorificDisposing.Unsubscribe(OnHonorificDisposing);
|
_honorificDisposing.Unsubscribe(OnHonorificDisposing);
|
||||||
@@ -713,18 +651,6 @@ public sealed class IpcManager : DisposableMediatorSubscriberBase
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool CheckPalettePlusApiInternal()
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
return string.Equals(_palettePlusApiVersion.InvokeFunc(), "1.1.0", StringComparison.Ordinal);
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private bool CheckPenumbraApiInternal()
|
private bool CheckPenumbraApiInternal()
|
||||||
{
|
{
|
||||||
bool penumbraAvailable = false;
|
bool penumbraAvailable = false;
|
||||||
@@ -789,11 +715,6 @@ public sealed class IpcManager : DisposableMediatorSubscriberBase
|
|||||||
Mediator.Publish(new HonorificReadyMessage());
|
Mediator.Publish(new HonorificReadyMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnPalettePlusPaletteChange(Character character, string palette)
|
|
||||||
{
|
|
||||||
Mediator.Publish(new PalettePlusMessage(character));
|
|
||||||
}
|
|
||||||
|
|
||||||
private void PenumbraDispose()
|
private void PenumbraDispose()
|
||||||
{
|
{
|
||||||
_disposalCts.Cancel();
|
_disposalCts.Cancel();
|
||||||
@@ -839,7 +760,6 @@ public sealed class IpcManager : DisposableMediatorSubscriberBase
|
|||||||
_penumbraAvailable = CheckPenumbraApiInternal();
|
_penumbraAvailable = CheckPenumbraApiInternal();
|
||||||
_heelsAvailable = CheckHeelsApiInternal();
|
_heelsAvailable = CheckHeelsApiInternal();
|
||||||
_customizePlusAvailable = CheckCustomizePlusApiInternal();
|
_customizePlusAvailable = CheckCustomizePlusApiInternal();
|
||||||
_palettePlusAvailable = CheckPalettePlusApiInternal();
|
|
||||||
_honorificAvailable = CheckHonorificApiInternal();
|
_honorificAvailable = CheckHonorificApiInternal();
|
||||||
PenumbraModDirectory = GetPenumbraModDirectoryInternal();
|
PenumbraModDirectory = GetPenumbraModDirectoryInternal();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ public enum PlayerChanges
|
|||||||
Glamourer = 3,
|
Glamourer = 3,
|
||||||
Customize = 4,
|
Customize = 4,
|
||||||
Heels = 5,
|
Heels = 5,
|
||||||
Palette = 6,
|
|
||||||
Honorific = 7,
|
Honorific = 7,
|
||||||
ForcedRedraw = 8,
|
ForcedRedraw = 8,
|
||||||
}
|
}
|
||||||
@@ -49,7 +49,6 @@ public class MareCharaFileManager : DisposableMediatorSubscriberBase
|
|||||||
if ((await dalamudUtil.RunOnFrameworkThread(() => item.Value.CurrentAddress()).ConfigureAwait(false)) != nint.Zero)
|
if ((await dalamudUtil.RunOnFrameworkThread(() => item.Value.CurrentAddress()).ConfigureAwait(false)) != nint.Zero)
|
||||||
{
|
{
|
||||||
await _ipcManager.GlamourerRevert(logger, item.Value.Name, item.Value, Guid.NewGuid(), cts.Token).ConfigureAwait(false);
|
await _ipcManager.GlamourerRevert(logger, item.Value.Name, item.Value, Guid.NewGuid(), cts.Token).ConfigureAwait(false);
|
||||||
await _ipcManager.PalettePlusRemovePaletteAsync(item.Value.Address).ConfigureAwait(false);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -117,14 +116,6 @@ public class MareCharaFileManager : DisposableMediatorSubscriberBase
|
|||||||
{
|
{
|
||||||
await _ipcManager.CustomizePlusRevertAsync(tempHandler.Address).ConfigureAwait(false);
|
await _ipcManager.CustomizePlusRevertAsync(tempHandler.Address).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
if (!string.IsNullOrEmpty(LoadedCharaFile.CharaFileData.PalettePlusData))
|
|
||||||
{
|
|
||||||
await _ipcManager.PalettePlusSetPaletteAsync(tempHandler.Address, LoadedCharaFile.CharaFileData.PalettePlusData).ConfigureAwait(false);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
await _ipcManager.PalettePlusRemovePaletteAsync(tempHandler.Address).ConfigureAwait(false);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
|||||||
@@ -197,7 +197,6 @@ public class PlayerDataFactory
|
|||||||
Task<string> getHeelsOffset = _ipcManager.GetHeelsOffsetAsync();
|
Task<string> getHeelsOffset = _ipcManager.GetHeelsOffsetAsync();
|
||||||
Task<string> getGlamourerData = _ipcManager.GlamourerGetCharacterCustomizationAsync(playerRelatedObject.Address);
|
Task<string> getGlamourerData = _ipcManager.GlamourerGetCharacterCustomizationAsync(playerRelatedObject.Address);
|
||||||
Task<string?> getCustomizeData = _ipcManager.GetCustomizePlusScaleAsync(playerRelatedObject.Address);
|
Task<string?> getCustomizeData = _ipcManager.GetCustomizePlusScaleAsync(playerRelatedObject.Address);
|
||||||
Task<string> getPalettePlusData = _ipcManager.PalettePlusBuildPaletteAsync();
|
|
||||||
previousData.GlamourerString[playerRelatedObject.ObjectKind] = await getGlamourerData.ConfigureAwait(false);
|
previousData.GlamourerString[playerRelatedObject.ObjectKind] = await getGlamourerData.ConfigureAwait(false);
|
||||||
_logger.LogDebug("Glamourer is now: {data}", previousData.GlamourerString[playerRelatedObject.ObjectKind]);
|
_logger.LogDebug("Glamourer is now: {data}", previousData.GlamourerString[playerRelatedObject.ObjectKind]);
|
||||||
var customizeScale = await getCustomizeData.ConfigureAwait(false);
|
var customizeScale = await getCustomizeData.ConfigureAwait(false);
|
||||||
@@ -206,8 +205,8 @@ public class PlayerDataFactory
|
|||||||
previousData.CustomizePlusScale[playerRelatedObject.ObjectKind] = customizeScale;
|
previousData.CustomizePlusScale[playerRelatedObject.ObjectKind] = customizeScale;
|
||||||
_logger.LogDebug("Customize is now: {data}", previousData.CustomizePlusScale[playerRelatedObject.ObjectKind]);
|
_logger.LogDebug("Customize is now: {data}", previousData.CustomizePlusScale[playerRelatedObject.ObjectKind]);
|
||||||
}
|
}
|
||||||
previousData.PalettePlusPalette = await getPalettePlusData.ConfigureAwait(false);
|
// todo: remove once heaving api
|
||||||
_logger.LogDebug("Palette is now: {data}", previousData.PalettePlusPalette);
|
previousData.PalettePlusPalette = string.Empty;
|
||||||
previousData.HonorificData = _ipcManager.HonorificGetTitle();
|
previousData.HonorificData = _ipcManager.HonorificGetTitle();
|
||||||
_logger.LogDebug("Honorific is now: {data}", previousData.HonorificData);
|
_logger.LogDebug("Honorific is now: {data}", previousData.HonorificData);
|
||||||
previousData.HeelsData = await getHeelsOffset.ConfigureAwait(false);
|
previousData.HeelsData = await getHeelsOffset.ConfigureAwait(false);
|
||||||
|
|||||||
@@ -288,10 +288,6 @@ public sealed class PairHandler : DisposableMediatorSubscriberBase
|
|||||||
Logger.LogDebug("[{applicationId}] Processing {change} for {handler}", applicationId, change, handler);
|
Logger.LogDebug("[{applicationId}] Processing {change} for {handler}", applicationId, change, handler);
|
||||||
switch (change)
|
switch (change)
|
||||||
{
|
{
|
||||||
case PlayerChanges.Palette:
|
|
||||||
await _ipcManager.PalettePlusSetPaletteAsync(handler.Address, charaData.PalettePlusData).ConfigureAwait(false);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case PlayerChanges.Customize:
|
case PlayerChanges.Customize:
|
||||||
if (charaData.CustomizePlusData.TryGetValue(changes.Key, out var customizePlusData))
|
if (charaData.CustomizePlusData.TryGetValue(changes.Key, out var customizePlusData))
|
||||||
{
|
{
|
||||||
@@ -533,9 +529,6 @@ public sealed class PairHandler : DisposableMediatorSubscriberBase
|
|||||||
Logger.LogDebug("[{applicationId}] Restoring C+ for {alias}/{name}", applicationId, OnlineUser.User.AliasOrUID, name);
|
Logger.LogDebug("[{applicationId}] Restoring C+ for {alias}/{name}", applicationId, OnlineUser.User.AliasOrUID, name);
|
||||||
await _ipcManager.CustomizePlusRevertAsync(address).ConfigureAwait(false);
|
await _ipcManager.CustomizePlusRevertAsync(address).ConfigureAwait(false);
|
||||||
tempHandler.CompareNameAndThrow(name);
|
tempHandler.CompareNameAndThrow(name);
|
||||||
Logger.LogDebug("[{applicationId}] Restoring Palette+ for {alias}/{name}", applicationId, OnlineUser.User.AliasOrUID, name);
|
|
||||||
await _ipcManager.PalettePlusRemovePaletteAsync(address).ConfigureAwait(false);
|
|
||||||
tempHandler.CompareNameAndThrow(name);
|
|
||||||
Logger.LogDebug("[{applicationId}] Restoring Honorific for {alias}/{name}", applicationId, OnlineUser.User.AliasOrUID, name);
|
Logger.LogDebug("[{applicationId}] Restoring Honorific for {alias}/{name}", applicationId, OnlineUser.User.AliasOrUID, name);
|
||||||
await _ipcManager.HonorificClearTitleAsync(address).ConfigureAwait(false);
|
await _ipcManager.HonorificClearTitleAsync(address).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,6 @@ public sealed class CacheCreationService : DisposableMediatorSubscriberBase
|
|||||||
private Task? _cacheCreationTask;
|
private Task? _cacheCreationTask;
|
||||||
private CancellationTokenSource _honorificCts = new();
|
private CancellationTokenSource _honorificCts = new();
|
||||||
private bool _isZoning = false;
|
private bool _isZoning = false;
|
||||||
private CancellationTokenSource _palettePlusCts = new();
|
|
||||||
private readonly Dictionary<ObjectKind, CancellationTokenSource> _glamourerCts = new();
|
private readonly Dictionary<ObjectKind, CancellationTokenSource> _glamourerCts = new();
|
||||||
|
|
||||||
public CacheCreationService(ILogger<CacheCreationService> logger, MareMediator mediator, GameObjectHandlerFactory gameObjectHandlerFactory,
|
public CacheCreationService(ILogger<CacheCreationService> logger, MareMediator mediator, GameObjectHandlerFactory gameObjectHandlerFactory,
|
||||||
@@ -100,15 +99,6 @@ public sealed class CacheCreationService : DisposableMediatorSubscriberBase
|
|||||||
GlamourerChanged(changedType.Key);
|
GlamourerChanged(changedType.Key);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
Mediator.Subscribe<PalettePlusMessage>(this, (msg) =>
|
|
||||||
{
|
|
||||||
if (_isZoning) return;
|
|
||||||
if (msg.Character.Address == _playerRelatedObjects[ObjectKind.Player].Address)
|
|
||||||
{
|
|
||||||
Logger.LogDebug("Received PalettePlus change, updating player");
|
|
||||||
PalettePlusChanged();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
Mediator.Subscribe<HonorificMessage>(this, (msg) =>
|
Mediator.Subscribe<HonorificMessage>(this, (msg) =>
|
||||||
{
|
{
|
||||||
if (_isZoning) return;
|
if (_isZoning) return;
|
||||||
@@ -172,21 +162,6 @@ public sealed class CacheCreationService : DisposableMediatorSubscriberBase
|
|||||||
await AddPlayerCacheToCreate().ConfigureAwait(false);
|
await AddPlayerCacheToCreate().ConfigureAwait(false);
|
||||||
}, token);
|
}, token);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void PalettePlusChanged()
|
|
||||||
{
|
|
||||||
_palettePlusCts?.Cancel();
|
|
||||||
_palettePlusCts?.Dispose();
|
|
||||||
_palettePlusCts = new();
|
|
||||||
var token = _palettePlusCts.Token;
|
|
||||||
|
|
||||||
_ = Task.Run(async () =>
|
|
||||||
{
|
|
||||||
await Task.Delay(TimeSpan.FromSeconds(1), token).ConfigureAwait(false);
|
|
||||||
await AddPlayerCacheToCreate().ConfigureAwait(false);
|
|
||||||
}, token);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void ProcessCacheCreation()
|
private void ProcessCacheCreation()
|
||||||
{
|
{
|
||||||
if (_isZoning) return;
|
if (_isZoning) return;
|
||||||
|
|||||||
@@ -38,7 +38,6 @@ public record GlamourerChangedMessage(IntPtr Address) : MessageBase;
|
|||||||
public record HeelsOffsetMessage : MessageBase;
|
public record HeelsOffsetMessage : MessageBase;
|
||||||
public record PenumbraResourceLoadMessage(IntPtr GameObject, string GamePath, string FilePath) : SameThreadMessage;
|
public record PenumbraResourceLoadMessage(IntPtr GameObject, string GamePath, string FilePath) : SameThreadMessage;
|
||||||
public record CustomizePlusMessage(string ProfileName) : MessageBase;
|
public record CustomizePlusMessage(string ProfileName) : MessageBase;
|
||||||
public record PalettePlusMessage(Character Character) : MessageBase;
|
|
||||||
public record HonorificMessage(string NewHonorificTitle) : MessageBase;
|
public record HonorificMessage(string NewHonorificTitle) : MessageBase;
|
||||||
public record HonorificReadyMessage : MessageBase;
|
public record HonorificReadyMessage : MessageBase;
|
||||||
public record PlayerChangedMessage(CharacterData Data) : MessageBase;
|
public record PlayerChangedMessage(CharacterData Data) : MessageBase;
|
||||||
|
|||||||
@@ -70,7 +70,6 @@ public partial class UiSharedService : DisposableMediatorSubscriberBase
|
|||||||
|
|
||||||
private bool _isPenumbraDirectory = false;
|
private bool _isPenumbraDirectory = false;
|
||||||
|
|
||||||
private bool _palettePlusExists = false;
|
|
||||||
private bool _penumbraExists = false;
|
private bool _penumbraExists = false;
|
||||||
|
|
||||||
private int _serverSelectionIndex = -1;
|
private int _serverSelectionIndex = -1;
|
||||||
|
|||||||
@@ -174,15 +174,6 @@ public static class VariousExtensions
|
|||||||
charaDataToUpdate[objectKind].Add(PlayerChanges.Heels);
|
charaDataToUpdate[objectKind].Add(PlayerChanges.Heels);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool palettePlusDataDifferent = !string.Equals(oldData.PalettePlusData, newData.PalettePlusData, StringComparison.Ordinal)
|
|
||||||
|| (charaDataToUpdate.TryGetValue(objectKind, out var playerChanges) && playerChanges.Contains(PlayerChanges.Glamourer)
|
|
||||||
&& (!string.IsNullOrEmpty(oldData.PalettePlusData) || !string.IsNullOrEmpty(newData.PalettePlusData)));
|
|
||||||
if (palettePlusDataDifferent || (forceApplyCustomization && !string.IsNullOrEmpty(newData.PalettePlusData)))
|
|
||||||
{
|
|
||||||
logger.LogDebug("[BASE-{appBase}] Updating {object}/{kind} (Diff palette data) => {change}", applicationBase, cachedPlayer, objectKind, PlayerChanges.Palette);
|
|
||||||
charaDataToUpdate[objectKind].Add(PlayerChanges.Palette);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool honorificDataDifferent = !string.Equals(oldData.HonorificData, newData.HonorificData, StringComparison.Ordinal);
|
bool honorificDataDifferent = !string.Equals(oldData.HonorificData, newData.HonorificData, StringComparison.Ordinal);
|
||||||
if (honorificDataDifferent || (forceApplyCustomization && !string.IsNullOrEmpty(newData.HonorificData)))
|
if (honorificDataDifferent || (forceApplyCustomization && !string.IsNullOrEmpty(newData.HonorificData)))
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user