save but not send hat/visor/weapon state, fix sync of mounts, speed up cache generation a bit

This commit is contained in:
Stanley Dimant
2022-07-26 12:49:44 +02:00
parent b8275ca070
commit 307c90f40e
7 changed files with 86 additions and 30 deletions

View File

@@ -149,7 +149,7 @@ namespace MareSynchronos.Managers
{
if (_dalamudUtil.IsInGpose) return;
var unprocessedObjects = playerRelatedObjects.Where(c => c.HasUnprocessedUpdate);
var unprocessedObjects = playerRelatedObjects.Where(c => c.HasUnprocessedUpdate).ToList();
foreach (var unprocessedObject in unprocessedObjects)
{
unprocessedObject.IsProcessing = true;
@@ -195,11 +195,13 @@ namespace MareSynchronos.Managers
LastCreatedCharacterData = cacheDto;
}
if (_apiController.IsConnected && !token.IsCancellationRequested)
if (_apiController.IsConnected && !token.IsCancellationRequested && !unprocessedObjects.All(c => c.DoNotSendUpdate))
{
Logger.Verbose("Invoking PlayerHasChanged");
PlayerHasChanged?.Invoke(cacheDto);
}
unprocessedObjects.ForEach(p => p.DoNotSendUpdate = false);
}, token);
}
}