From 29eea0d8001752550e5aa641668f840fda57a52c Mon Sep 17 00:00:00 2001 From: rootdarkarchon Date: Sun, 19 Feb 2023 17:15:53 +0100 Subject: [PATCH] fixes for summoner --- MareSynchronos/Managers/CachedPlayer.cs | 3 ++- MareSynchronos/Managers/TransientResourceManager.cs | 4 ++-- MareSynchronos/Models/GameObjectHandler.cs | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/MareSynchronos/Managers/CachedPlayer.cs b/MareSynchronos/Managers/CachedPlayer.cs index 95f8e3f..95f28b8 100644 --- a/MareSynchronos/Managers/CachedPlayer.cs +++ b/MareSynchronos/Managers/CachedPlayer.cs @@ -233,7 +233,8 @@ public class CachedPlayer : MediatorSubscriberBase, IDisposable { foreach (var item in _cachedData.FileReplacements) { - RevertCustomizationData(item.Key, name, applicationId).RunSynchronously(); + var task = Task.Run(async () => await RevertCustomizationData(item.Key, name, applicationId).ConfigureAwait(false)); + Task.WaitAll(new[] { task }); } } _currentOtherChara = null; diff --git a/MareSynchronos/Managers/TransientResourceManager.cs b/MareSynchronos/Managers/TransientResourceManager.cs index b3a8c34..9f45e17 100644 --- a/MareSynchronos/Managers/TransientResourceManager.cs +++ b/MareSynchronos/Managers/TransientResourceManager.cs @@ -143,7 +143,7 @@ public class TransientResourceManager : MediatorSubscriberBase, IDisposable { return; } - if (!PlayerRelatedPointers.Select(p => p.Address).Contains(gameObject)) + if (!PlayerRelatedPointers.Select(p => p.CurrentAddress).Contains(gameObject)) { //_logger.LogDebug("Got resource " + gamePath + " for ptr " + gameObject.ToString("X")); return; @@ -172,7 +172,7 @@ public class TransientResourceManager : MediatorSubscriberBase, IDisposable else { TransientResources[gameObject].Add(replacedGamePath); - _logger.LogDebug("Adding {replacedGamePath} for {gameObject} ({filePath})", replacedGamePath, gameObject, filePath); + _logger.LogDebug("Adding {replacedGamePath} for {gameObject} ({filePath})", replacedGamePath, gameObject.ToString("X"), filePath); Mediator.Publish(new TransientResourceChangedMessage(gameObject)); } } diff --git a/MareSynchronos/Models/GameObjectHandler.cs b/MareSynchronos/Models/GameObjectHandler.cs index f5dc1e6..61e5e7d 100644 --- a/MareSynchronos/Models/GameObjectHandler.cs +++ b/MareSynchronos/Models/GameObjectHandler.cs @@ -21,6 +21,7 @@ public class GameObjectHandler : MediatorSubscriberBase public string Name { get; private set; } public ObjectKind ObjectKind { get; } public IntPtr Address { get; set; } + public IntPtr CurrentAddress => _getAddress.Invoke(); private IntPtr DrawObjectAddress { get; set; } private Task? _delayedZoningTask; private CancellationTokenSource _zoningCts = new(); @@ -95,7 +96,7 @@ public class GameObjectHandler : MediatorSubscriberBase { if (!_delayedZoningTask?.IsCompleted ?? false) return; - _performanceCollector.LogPerformance(this, "CheckAndUpdateObject>" + (_isOwnedObject ? "Self+" : "Other+") + ObjectKind + "/" + _performanceCollector.LogPerformance(this, "CheckAndUpdateObject>" + (_isOwnedObject ? "Self+" : "Other+") + ObjectKind + "/" + (string.IsNullOrEmpty(Name) ? "Unk" : Name) + "+" + Address.ToString("X"), CheckAndUpdateObject); }