Fixes names not updating on Pet Nicknames restart (#79)

This commit is contained in:
Amber
2024-09-13 00:19:41 +02:00
committed by GitHub
parent 953ff065b1
commit c1515fc566
3 changed files with 9 additions and 0 deletions

View File

@@ -68,6 +68,7 @@ public sealed class IpcCallerPetNames : IIpcCaller
private void OnPetNicknamesReady()
{
CheckAPI();
_mareMediator.Publish(new PetNamesReadyMessage());
}
private void OnPetNicknamesDispose()

View File

@@ -564,6 +564,13 @@ public sealed class PairHandler : DisposableMediatorSubscriberBase
await _ipcManager.Honorific.SetTitleAsync(PlayerCharacter, _cachedData.HonorificData).ConfigureAwait(false);
});
Mediator.Subscribe<PetNamesReadyMessage>(this, async (_) =>
{
if (string.IsNullOrEmpty(_cachedData?.PetNamesData)) return;
Logger.LogTrace("Reapplying Pet Names data for {this}", this);
await _ipcManager.PetNames.SetPlayerData(PlayerCharacter, _cachedData.PetNamesData).ConfigureAwait(false);
});
_ipcManager.Penumbra.AssignTemporaryCollectionAsync(Logger, _penumbraCollection, _charaHandler.GetGameObject()!.ObjectIndex).GetAwaiter().GetResult();
}

View File

@@ -41,6 +41,7 @@ public record PenumbraResourceLoadMessage(IntPtr GameObject, string GamePath, st
public record CustomizePlusMessage(nint? Address) : MessageBase;
public record HonorificMessage(string NewHonorificTitle) : MessageBase;
public record MoodlesMessage(IntPtr Address) : MessageBase;
public record PetNamesReadyMessage : MessageBase;
public record PetNamesMessage(string PetNicknamesData) : MessageBase;
public record HonorificReadyMessage : MessageBase;
public record PlayerChangedMessage(CharacterData Data) : MessageBase;