fix issue with player disposal, fix issue with penumbra mass redraw
This commit is contained in:
@@ -313,6 +313,7 @@ public class CachedPlayer
|
||||
}
|
||||
finally
|
||||
{
|
||||
_cachedData = new();
|
||||
PlayerName = string.Empty;
|
||||
PlayerCharacter = null;
|
||||
IsVisible = false;
|
||||
@@ -321,7 +322,7 @@ public class CachedPlayer
|
||||
|
||||
public void InitializePlayer(PlayerCharacter character, CharacterCacheDto? cache)
|
||||
{
|
||||
Logger.Debug("Initializing Player " + this);
|
||||
Logger.Debug("Initializing Player " + this + " has cache: " + (cache != null));
|
||||
IsVisible = true;
|
||||
PlayerName = character.Name.ToString();
|
||||
PlayerCharacter = character;
|
||||
@@ -375,7 +376,7 @@ public class CachedPlayer
|
||||
|
||||
if (RequestedPenumbraRedraw == false)
|
||||
{
|
||||
Logger.Warn("Unauthorized character change detected");
|
||||
Logger.Debug("Unauthorized character change detected");
|
||||
ApplyCustomizationData(ObjectKind.Player);
|
||||
}
|
||||
else
|
||||
|
||||
@@ -139,7 +139,7 @@ namespace MareSynchronos.Managers
|
||||
}
|
||||
}
|
||||
|
||||
if (playerRelatedObjects.Any(c => c.HasUnprocessedUpdate))
|
||||
if (playerRelatedObjects.Any(c => c.HasUnprocessedUpdate && !c.IsProcessing))
|
||||
{
|
||||
OnPlayerOrAttachedObjectsChanged();
|
||||
}
|
||||
@@ -195,7 +195,7 @@ namespace MareSynchronos.Managers
|
||||
LastCreatedCharacterData = cacheDto;
|
||||
}
|
||||
|
||||
if (_apiController.IsConnected)
|
||||
if (_apiController.IsConnected && !token.IsCancellationRequested)
|
||||
{
|
||||
Logger.Verbose("Invoking PlayerHasChanged");
|
||||
PlayerHasChanged?.Invoke(cacheDto);
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<PropertyGroup>
|
||||
<Authors></Authors>
|
||||
<Company></Company>
|
||||
<Version>0.2.1.0</Version>
|
||||
<Version>0.2.2.0</Version>
|
||||
<Description></Description>
|
||||
<Copyright></Copyright>
|
||||
<PackageProjectUrl>https://github.com/Penumbra-Sync/client</PackageProjectUrl>
|
||||
|
||||
Reference in New Issue
Block a user