fix issue with player disposal, fix issue with penumbra mass redraw

This commit is contained in:
Stanley Dimant
2022-07-24 21:50:35 +02:00
parent 03414c9c94
commit 949cfd0c0e
3 changed files with 6 additions and 5 deletions

View File

@@ -313,6 +313,7 @@ public class CachedPlayer
} }
finally finally
{ {
_cachedData = new();
PlayerName = string.Empty; PlayerName = string.Empty;
PlayerCharacter = null; PlayerCharacter = null;
IsVisible = false; IsVisible = false;
@@ -321,7 +322,7 @@ public class CachedPlayer
public void InitializePlayer(PlayerCharacter character, CharacterCacheDto? cache) public void InitializePlayer(PlayerCharacter character, CharacterCacheDto? cache)
{ {
Logger.Debug("Initializing Player " + this); Logger.Debug("Initializing Player " + this + " has cache: " + (cache != null));
IsVisible = true; IsVisible = true;
PlayerName = character.Name.ToString(); PlayerName = character.Name.ToString();
PlayerCharacter = character; PlayerCharacter = character;
@@ -375,7 +376,7 @@ public class CachedPlayer
if (RequestedPenumbraRedraw == false) if (RequestedPenumbraRedraw == false)
{ {
Logger.Warn("Unauthorized character change detected"); Logger.Debug("Unauthorized character change detected");
ApplyCustomizationData(ObjectKind.Player); ApplyCustomizationData(ObjectKind.Player);
} }
else else

View File

@@ -139,7 +139,7 @@ namespace MareSynchronos.Managers
} }
} }
if (playerRelatedObjects.Any(c => c.HasUnprocessedUpdate)) if (playerRelatedObjects.Any(c => c.HasUnprocessedUpdate && !c.IsProcessing))
{ {
OnPlayerOrAttachedObjectsChanged(); OnPlayerOrAttachedObjectsChanged();
} }
@@ -195,7 +195,7 @@ namespace MareSynchronos.Managers
LastCreatedCharacterData = cacheDto; LastCreatedCharacterData = cacheDto;
} }
if (_apiController.IsConnected) if (_apiController.IsConnected && !token.IsCancellationRequested)
{ {
Logger.Verbose("Invoking PlayerHasChanged"); Logger.Verbose("Invoking PlayerHasChanged");
PlayerHasChanged?.Invoke(cacheDto); PlayerHasChanged?.Invoke(cacheDto);

View File

@@ -3,7 +3,7 @@
<PropertyGroup> <PropertyGroup>
<Authors></Authors> <Authors></Authors>
<Company></Company> <Company></Company>
<Version>0.2.1.0</Version> <Version>0.2.2.0</Version>
<Description></Description> <Description></Description>
<Copyright></Copyright> <Copyright></Copyright>
<PackageProjectUrl>https://github.com/Penumbra-Sync/client</PackageProjectUrl> <PackageProjectUrl>https://github.com/Penumbra-Sync/client</PackageProjectUrl>