From: Pieter-Jan Briers Date: Fri, 15 Sep 2023 06:49:32 +0000 (+0200) Subject: Clear cached preferences when disconnecting on client (#19921) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=08b6f0748a2517d691b709e1fe57fd8d9c4ef7c4;p=space-station-14.git Clear cached preferences when disconnecting on client (#19921) --- diff --git a/Content.Client/Preferences/ClientPreferencesManager.cs b/Content.Client/Preferences/ClientPreferencesManager.cs index bafcfc08a0..34b2c33140 100644 --- a/Content.Client/Preferences/ClientPreferencesManager.cs +++ b/Content.Client/Preferences/ClientPreferencesManager.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; using System.Linq; using Content.Shared.Preferences; +using Robust.Client; using Robust.Shared.IoC; using Robust.Shared.Network; using Robust.Shared.Utility; @@ -16,6 +17,7 @@ namespace Content.Client.Preferences public sealed class ClientPreferencesManager : IClientPreferencesManager { [Dependency] private readonly IClientNetManager _netManager = default!; + [Dependency] private readonly IBaseClient _baseClient = default!; public event Action? OnServerDataLoaded; @@ -28,6 +30,17 @@ namespace Content.Client.Preferences _netManager.RegisterNetMessage(); _netManager.RegisterNetMessage(); _netManager.RegisterNetMessage(); + + _baseClient.RunLevelChanged += BaseClientOnRunLevelChanged; + } + + private void BaseClientOnRunLevelChanged(object? sender, RunLevelChangedEventArgs e) + { + if (e.NewLevel == ClientRunLevel.Initialize) + { + Settings = default!; + Preferences = default!; + } } public void SelectCharacter(ICharacterProfile profile)