remove some deps, fix some bugs

This commit is contained in:
Stanley Dimant
2022-06-25 01:51:06 +02:00
parent f8919abea8
commit 27208ed2a5
4 changed files with 126 additions and 120 deletions

View File

@@ -66,6 +66,8 @@ public class CharacterCacheManager : IDisposable
public void Initialize()
{
_onlineCachedPlayers.Clear();
_apiController.CharacterReceived += ApiControllerOnCharacterReceived;
_apiController.PairedClientOnline += ApiControllerOnPairedClientOnline;
_apiController.PairedClientOffline += ApiControllerOnPairedClientOffline;
@@ -150,6 +152,7 @@ public class CharacterCacheManager : IDisposable
private void ApiControllerOnPairedClientOffline(object? sender, EventArgs e)
{
Logger.Debug("Player offline: " + sender!);
RestoreCharacter(_onlineCachedPlayers.SingleOrDefault(f => f.PlayerNameHash == (string)sender!));
_onlineCachedPlayers.RemoveAll(p => p.PlayerNameHash == ((string)sender!));
}
@@ -237,9 +240,10 @@ public class CharacterCacheManager : IDisposable
PluginLog.Error(ex, "error");
}
}
private void RestoreCharacter(CachedPlayer character)
private void RestoreCharacter(CachedPlayer? character)
{
if (string.IsNullOrEmpty(character.PlayerName)) return;
if (character == null || string.IsNullOrEmpty(character.PlayerName)) return;
Logger.Debug("Restoring state for " + character.PlayerName);
_ipcManager.PenumbraRemoveTemporaryCollection(character.PlayerName);