From c60d413a704c13da25087aa6ed6a153019d613a4 Mon Sep 17 00:00:00 2001 From: Archi Date: Wed, 15 Sep 2021 12:43:25 +0200 Subject: [PATCH] Misc --- ...rm.OfficialPlugins.SteamTokenDumper.csproj | 1 + .../GlobalCache.cs | 25 ++++ ArchiSteamFarm.sln.DotSettings | 1 + ArchiSteamFarm/Steam/Storage/BotConfig.cs | 132 +++++++++++++----- ArchiSteamFarm/Steam/Storage/BotDatabase.cs | 33 +++-- ArchiSteamFarm/Storage/GlobalConfig.cs | 124 +++++++++++----- ArchiSteamFarm/Storage/GlobalDatabase.cs | 28 ++-- 7 files changed, 253 insertions(+), 91 deletions(-) diff --git a/ArchiSteamFarm.OfficialPlugins.SteamTokenDumper/ArchiSteamFarm.OfficialPlugins.SteamTokenDumper.csproj b/ArchiSteamFarm.OfficialPlugins.SteamTokenDumper/ArchiSteamFarm.OfficialPlugins.SteamTokenDumper.csproj index ce35604ca..25b73e4a6 100644 --- a/ArchiSteamFarm.OfficialPlugins.SteamTokenDumper/ArchiSteamFarm.OfficialPlugins.SteamTokenDumper.csproj +++ b/ArchiSteamFarm.OfficialPlugins.SteamTokenDumper/ArchiSteamFarm.OfficialPlugins.SteamTokenDumper.csproj @@ -5,6 +5,7 @@ + diff --git a/ArchiSteamFarm.OfficialPlugins.SteamTokenDumper/GlobalCache.cs b/ArchiSteamFarm.OfficialPlugins.SteamTokenDumper/GlobalCache.cs index 70c19df12..13d033892 100644 --- a/ArchiSteamFarm.OfficialPlugins.SteamTokenDumper/GlobalCache.cs +++ b/ArchiSteamFarm.OfficialPlugins.SteamTokenDumper/GlobalCache.cs @@ -33,6 +33,7 @@ using System.Threading.Tasks; using ArchiSteamFarm.Core; using ArchiSteamFarm.Helpers; using ArchiSteamFarm.Localization; +using JetBrains.Annotations; using Newtonsoft.Json; using SteamKit2; @@ -66,6 +67,30 @@ namespace ArchiSteamFarm.OfficialPlugins.SteamTokenDumper { internal GlobalCache() => FilePath = SharedFilePath; + [UsedImplicitly] + public bool ShouldSerializeAppChangeNumbers() => !AppChangeNumbers.IsEmpty; + + [UsedImplicitly] + public bool ShouldSerializeAppTokens() => !AppTokens.IsEmpty; + + [UsedImplicitly] + public bool ShouldSerializeDepotKeys() => !DepotKeys.IsEmpty; + + [UsedImplicitly] + public bool ShouldSerializeLastChangeNumber() => LastChangeNumber > 0; + + [UsedImplicitly] + public bool ShouldSerializePackageTokens() => !PackageTokens.IsEmpty; + + [UsedImplicitly] + public bool ShouldSerializeSubmittedApps() => !SubmittedApps.IsEmpty; + + [UsedImplicitly] + public bool ShouldSerializeSubmittedDepots() => !SubmittedDepots.IsEmpty; + + [UsedImplicitly] + public bool ShouldSerializeSubmittedPackages() => !SubmittedPackages.IsEmpty; + internal ulong GetAppToken(uint appID) => AppTokens[appID]; internal Dictionary GetAppTokensForSubmission() => AppTokens.Where(appToken => (SteamTokenDumperPlugin.Config?.SecretAppIDs.Contains(appToken.Key) == false) && (appToken.Value > 0) && (!SubmittedApps.TryGetValue(appToken.Key, out ulong token) || (appToken.Value != token))).ToDictionary(appToken => appToken.Key, appToken => appToken.Value); diff --git a/ArchiSteamFarm.sln.DotSettings b/ArchiSteamFarm.sln.DotSettings index 7a923145a..fb0e4d757 100644 --- a/ArchiSteamFarm.sln.DotSettings +++ b/ArchiSteamFarm.sln.DotSettings @@ -299,6 +299,7 @@ WARNING WARNING WARNING + True SUGGESTION Default Default diff --git a/ArchiSteamFarm/Steam/Storage/BotConfig.cs b/ArchiSteamFarm/Steam/Storage/BotConfig.cs index 3f66e29e1..260dfc85f 100644 --- a/ArchiSteamFarm/Steam/Storage/BotConfig.cs +++ b/ArchiSteamFarm/Steam/Storage/BotConfig.cs @@ -336,6 +336,102 @@ namespace ArchiSteamFarm.Steam.Storage { [JsonConstructor] internal BotConfig() { } + [UsedImplicitly] + public bool ShouldSerializeAcceptGifts() => !Saving || (AcceptGifts != DefaultAcceptGifts); + + [UsedImplicitly] + public bool ShouldSerializeAutoSteamSaleEvent() => !Saving || (AutoSteamSaleEvent != DefaultAutoSteamSaleEvent); + + [UsedImplicitly] + public bool ShouldSerializeBotBehaviour() => !Saving || (BotBehaviour != DefaultBotBehaviour); + + [UsedImplicitly] + public bool ShouldSerializeCompleteTypesToSend() => !Saving || ((CompleteTypesToSend != DefaultCompleteTypesToSend) && !CompleteTypesToSend.SetEquals(DefaultCompleteTypesToSend)); + + [UsedImplicitly] + public bool ShouldSerializeCustomGamePlayedWhileFarming() => !Saving || (CustomGamePlayedWhileFarming != DefaultCustomGamePlayedWhileFarming); + + [UsedImplicitly] + public bool ShouldSerializeCustomGamePlayedWhileIdle() => !Saving || (CustomGamePlayedWhileIdle != DefaultCustomGamePlayedWhileIdle); + + [UsedImplicitly] + public bool ShouldSerializeEnabled() => !Saving || (Enabled != DefaultEnabled); + + [UsedImplicitly] + public bool ShouldSerializeFarmingOrders() => !Saving || ((FarmingOrders != DefaultFarmingOrders) && !FarmingOrders.SequenceEqual(DefaultFarmingOrders)); + + [UsedImplicitly] + public bool ShouldSerializeFarmPriorityQueueOnly() => !Saving || (FarmPriorityQueueOnly != DefaultFarmPriorityQueueOnly); + + [UsedImplicitly] + public bool ShouldSerializeGamesPlayedWhileIdle() => !Saving || ((GamesPlayedWhileIdle != DefaultGamesPlayedWhileIdle) && !GamesPlayedWhileIdle.SetEquals(DefaultGamesPlayedWhileIdle)); + + [UsedImplicitly] + public bool ShouldSerializeHoursUntilCardDrops() => !Saving || (HoursUntilCardDrops != DefaultHoursUntilCardDrops); + + [UsedImplicitly] + public bool ShouldSerializeLootableTypes() => !Saving || ((LootableTypes != DefaultLootableTypes) && !LootableTypes.SetEquals(DefaultLootableTypes)); + + [UsedImplicitly] + public bool ShouldSerializeMatchableTypes() => !Saving || ((MatchableTypes != DefaultMatchableTypes) && !MatchableTypes.SetEquals(DefaultMatchableTypes)); + + [UsedImplicitly] + public bool ShouldSerializeOnlineStatus() => !Saving || (OnlineStatus != DefaultOnlineStatus); + + [UsedImplicitly] + public bool ShouldSerializePasswordFormat() => !Saving || (PasswordFormat != DefaultPasswordFormat); + + [UsedImplicitly] + public bool ShouldSerializePaused() => !Saving || (Paused != DefaultPaused); + + [UsedImplicitly] + public bool ShouldSerializeRedeemingPreferences() => !Saving || (RedeemingPreferences != DefaultRedeemingPreferences); + + [UsedImplicitly] + public bool ShouldSerializeSendOnFarmingFinished() => !Saving || (SendOnFarmingFinished != DefaultSendOnFarmingFinished); + + [UsedImplicitly] + public bool ShouldSerializeSendTradePeriod() => !Saving || (SendTradePeriod != DefaultSendTradePeriod); + + [UsedImplicitly] + public bool ShouldSerializeShutdownOnFarmingFinished() => !Saving || (ShutdownOnFarmingFinished != DefaultShutdownOnFarmingFinished); + + [UsedImplicitly] + public bool ShouldSerializeSkipRefundableGames() => !Saving || (SkipRefundableGames != DefaultSkipRefundableGames); + + [UsedImplicitly] + public bool ShouldSerializeSSteamMasterClanID() => !Saving; + + [UsedImplicitly] + public bool ShouldSerializeSteamLogin() => Saving && IsSteamLoginSet && (SteamLogin != DefaultSteamLogin); + + [UsedImplicitly] + public bool ShouldSerializeSteamMasterClanID() => !Saving || (SteamMasterClanID != DefaultSteamMasterClanID); + + [UsedImplicitly] + public bool ShouldSerializeSteamParentalCode() => Saving && IsSteamParentalCodeSet && (SteamParentalCode != DefaultSteamParentalCode); + + [UsedImplicitly] + public bool ShouldSerializeSteamPassword() => Saving && IsSteamPasswordSet && (SteamPassword != DefaultSteamPassword); + + [UsedImplicitly] + public bool ShouldSerializeSteamTradeToken() => !Saving || (SteamTradeToken != DefaultSteamTradeToken); + + [UsedImplicitly] + public bool ShouldSerializeSteamUserPermissions() => !Saving || ((SteamUserPermissions != DefaultSteamUserPermissions) && ((SteamUserPermissions.Count != DefaultSteamUserPermissions.Count) || SteamUserPermissions.Except(DefaultSteamUserPermissions).Any())); + + [UsedImplicitly] + public bool ShouldSerializeTradingPreferences() => !Saving || (TradingPreferences != DefaultTradingPreferences); + + [UsedImplicitly] + public bool ShouldSerializeTransferableTypes() => !Saving || ((TransferableTypes != DefaultTransferableTypes) && !TransferableTypes.SetEquals(DefaultTransferableTypes)); + + [UsedImplicitly] + public bool ShouldSerializeUseLoginKeys() => !Saving || (UseLoginKeys != DefaultUseLoginKeys); + + [UsedImplicitly] + public bool ShouldSerializeUserInterfaceMode() => !Saving || (UserInterfaceMode != DefaultUserInterfaceMode); + [PublicAPI] public static async Task Write(string filePath, BotConfig botConfig) { if (string.IsNullOrEmpty(filePath)) { @@ -553,41 +649,5 @@ namespace ArchiSteamFarm.Steam.Storage { MatchActively = 16, All = AcceptDonations | SteamTradeMatcher | MatchEverything | DontAcceptBotTrades | MatchActively } - - // ReSharper disable UnusedMember.Global - public bool ShouldSerializeAcceptGifts() => !Saving || (AcceptGifts != DefaultAcceptGifts); - public bool ShouldSerializeAutoSteamSaleEvent() => !Saving || (AutoSteamSaleEvent != DefaultAutoSteamSaleEvent); - public bool ShouldSerializeBotBehaviour() => !Saving || (BotBehaviour != DefaultBotBehaviour); - public bool ShouldSerializeCompleteTypesToSend() => !Saving || ((CompleteTypesToSend != DefaultCompleteTypesToSend) && !CompleteTypesToSend.SetEquals(DefaultCompleteTypesToSend)); - public bool ShouldSerializeCustomGamePlayedWhileFarming() => !Saving || (CustomGamePlayedWhileFarming != DefaultCustomGamePlayedWhileFarming); - public bool ShouldSerializeCustomGamePlayedWhileIdle() => !Saving || (CustomGamePlayedWhileIdle != DefaultCustomGamePlayedWhileIdle); - public bool ShouldSerializeEnabled() => !Saving || (Enabled != DefaultEnabled); - public bool ShouldSerializeFarmingOrders() => !Saving || ((FarmingOrders != DefaultFarmingOrders) && !FarmingOrders.SequenceEqual(DefaultFarmingOrders)); - public bool ShouldSerializeFarmPriorityQueueOnly() => !Saving || (FarmPriorityQueueOnly != DefaultFarmPriorityQueueOnly); - public bool ShouldSerializeGamesPlayedWhileIdle() => !Saving || ((GamesPlayedWhileIdle != DefaultGamesPlayedWhileIdle) && !GamesPlayedWhileIdle.SetEquals(DefaultGamesPlayedWhileIdle)); - public bool ShouldSerializeHoursUntilCardDrops() => !Saving || (HoursUntilCardDrops != DefaultHoursUntilCardDrops); - public bool ShouldSerializeLootableTypes() => !Saving || ((LootableTypes != DefaultLootableTypes) && !LootableTypes.SetEquals(DefaultLootableTypes)); - public bool ShouldSerializeMatchableTypes() => !Saving || ((MatchableTypes != DefaultMatchableTypes) && !MatchableTypes.SetEquals(DefaultMatchableTypes)); - public bool ShouldSerializeOnlineStatus() => !Saving || (OnlineStatus != DefaultOnlineStatus); - public bool ShouldSerializePasswordFormat() => !Saving || (PasswordFormat != DefaultPasswordFormat); - public bool ShouldSerializePaused() => !Saving || (Paused != DefaultPaused); - public bool ShouldSerializeRedeemingPreferences() => !Saving || (RedeemingPreferences != DefaultRedeemingPreferences); - public bool ShouldSerializeSendOnFarmingFinished() => !Saving || (SendOnFarmingFinished != DefaultSendOnFarmingFinished); - public bool ShouldSerializeSendTradePeriod() => !Saving || (SendTradePeriod != DefaultSendTradePeriod); - public bool ShouldSerializeShutdownOnFarmingFinished() => !Saving || (ShutdownOnFarmingFinished != DefaultShutdownOnFarmingFinished); - public bool ShouldSerializeSkipRefundableGames() => !Saving || (SkipRefundableGames != DefaultSkipRefundableGames); - public bool ShouldSerializeSSteamMasterClanID() => !Saving; - public bool ShouldSerializeSteamLogin() => Saving && IsSteamLoginSet && (SteamLogin != DefaultSteamLogin); - public bool ShouldSerializeSteamMasterClanID() => !Saving || (SteamMasterClanID != DefaultSteamMasterClanID); - public bool ShouldSerializeSteamParentalCode() => Saving && IsSteamParentalCodeSet && (SteamParentalCode != DefaultSteamParentalCode); - public bool ShouldSerializeSteamPassword() => Saving && IsSteamPasswordSet && (SteamPassword != DefaultSteamPassword); - public bool ShouldSerializeSteamTradeToken() => !Saving || (SteamTradeToken != DefaultSteamTradeToken); - public bool ShouldSerializeSteamUserPermissions() => !Saving || ((SteamUserPermissions != DefaultSteamUserPermissions) && ((SteamUserPermissions.Count != DefaultSteamUserPermissions.Count) || SteamUserPermissions.Except(DefaultSteamUserPermissions).Any())); - public bool ShouldSerializeTradingPreferences() => !Saving || (TradingPreferences != DefaultTradingPreferences); - public bool ShouldSerializeTransferableTypes() => !Saving || ((TransferableTypes != DefaultTransferableTypes) && !TransferableTypes.SetEquals(DefaultTransferableTypes)); - public bool ShouldSerializeUseLoginKeys() => !Saving || (UseLoginKeys != DefaultUseLoginKeys); - public bool ShouldSerializeUserInterfaceMode() => !Saving || (UserInterfaceMode != DefaultUserInterfaceMode); - - // ReSharper restore UnusedMember.Global } } diff --git a/ArchiSteamFarm/Steam/Storage/BotDatabase.cs b/ArchiSteamFarm/Steam/Storage/BotDatabase.cs index 02bc185c9..430c98dfb 100644 --- a/ArchiSteamFarm/Steam/Storage/BotDatabase.cs +++ b/ArchiSteamFarm/Steam/Storage/BotDatabase.cs @@ -35,6 +35,7 @@ using ArchiSteamFarm.Core; using ArchiSteamFarm.Helpers; using ArchiSteamFarm.Localization; using ArchiSteamFarm.Steam.Security; +using JetBrains.Annotations; using Newtonsoft.Json; namespace ArchiSteamFarm.Steam.Storage { @@ -112,6 +113,27 @@ namespace ArchiSteamFarm.Steam.Storage { MatchActivelyBlacklistedAppIDs.OnModified += OnObjectModified; } + [UsedImplicitly] + public bool ShouldSerializeBackingLoginKey() => !string.IsNullOrEmpty(BackingLoginKey); + + [UsedImplicitly] + public bool ShouldSerializeBackingMobileAuthenticator() => BackingMobileAuthenticator != null; + + [UsedImplicitly] + public bool ShouldSerializeBlacklistedFromTradesSteamIDs() => BlacklistedFromTradesSteamIDs.Count > 0; + + [UsedImplicitly] + public bool ShouldSerializeGamesToRedeemInBackground() => HasGamesToRedeemInBackground; + + [UsedImplicitly] + public bool ShouldSerializeIdlingBlacklistedAppIDs() => IdlingBlacklistedAppIDs.Count > 0; + + [UsedImplicitly] + public bool ShouldSerializeIdlingPriorityAppIDs() => IdlingPriorityAppIDs.Count > 0; + + [UsedImplicitly] + public bool ShouldSerializeMatchActivelyBlacklistedAppIDs() => MatchActivelyBlacklistedAppIDs.Count > 0; + protected override void Dispose(bool disposing) { if (disposing) { // Events we registered @@ -218,16 +240,5 @@ namespace ArchiSteamFarm.Steam.Storage { await Save().ConfigureAwait(false); } - - // ReSharper disable UnusedMember.Global - public bool ShouldSerializeBackingLoginKey() => !string.IsNullOrEmpty(BackingLoginKey); - public bool ShouldSerializeBackingMobileAuthenticator() => BackingMobileAuthenticator != null; - public bool ShouldSerializeBlacklistedFromTradesSteamIDs() => BlacklistedFromTradesSteamIDs.Count > 0; - public bool ShouldSerializeGamesToRedeemInBackground() => HasGamesToRedeemInBackground; - public bool ShouldSerializeIdlingBlacklistedAppIDs() => IdlingBlacklistedAppIDs.Count > 0; - public bool ShouldSerializeIdlingPriorityAppIDs() => IdlingPriorityAppIDs.Count > 0; - public bool ShouldSerializeMatchActivelyBlacklistedAppIDs() => MatchActivelyBlacklistedAppIDs.Count > 0; - - // ReSharper restore UnusedMember.Global } } diff --git a/ArchiSteamFarm/Storage/GlobalConfig.cs b/ArchiSteamFarm/Storage/GlobalConfig.cs index 6e56b3429..aaaea59ce 100644 --- a/ArchiSteamFarm/Storage/GlobalConfig.cs +++ b/ArchiSteamFarm/Storage/GlobalConfig.cs @@ -329,6 +329,96 @@ namespace ArchiSteamFarm.Storage { [JsonConstructor] internal GlobalConfig() { } + [UsedImplicitly] + public bool ShouldSerializeAutoRestart() => !Saving || (AutoRestart != DefaultAutoRestart); + + [UsedImplicitly] + public bool ShouldSerializeBlacklist() => !Saving || ((Blacklist != DefaultBlacklist) && !Blacklist.SetEquals(DefaultBlacklist)); + + [UsedImplicitly] + public bool ShouldSerializeCommandPrefix() => !Saving || (CommandPrefix != DefaultCommandPrefix); + + [UsedImplicitly] + public bool ShouldSerializeConfirmationsLimiterDelay() => !Saving || (ConfirmationsLimiterDelay != DefaultConfirmationsLimiterDelay); + + [UsedImplicitly] + public bool ShouldSerializeConnectionTimeout() => !Saving || (ConnectionTimeout != DefaultConnectionTimeout); + + [UsedImplicitly] + public bool ShouldSerializeCurrentCulture() => !Saving || (CurrentCulture != DefaultCurrentCulture); + + [UsedImplicitly] + public bool ShouldSerializeDebug() => !Saving || (Debug != DefaultDebug); + + [UsedImplicitly] + public bool ShouldSerializeFarmingDelay() => !Saving || (FarmingDelay != DefaultFarmingDelay); + + [UsedImplicitly] + public bool ShouldSerializeGiftsLimiterDelay() => !Saving || (GiftsLimiterDelay != DefaultGiftsLimiterDelay); + + [UsedImplicitly] + public bool ShouldSerializeHeadless() => !Saving || (Headless != DefaultHeadless); + + [UsedImplicitly] + public bool ShouldSerializeIdleFarmingPeriod() => !Saving || (IdleFarmingPeriod != DefaultIdleFarmingPeriod); + + [UsedImplicitly] + public bool ShouldSerializeInventoryLimiterDelay() => !Saving || (InventoryLimiterDelay != DefaultInventoryLimiterDelay); + + [UsedImplicitly] + public bool ShouldSerializeIPC() => !Saving || (IPC != DefaultIPC); + + [UsedImplicitly] + public bool ShouldSerializeIPCPassword() => Saving && IsIPCPasswordSet && (IPCPassword != DefaultIPCPassword); + + [UsedImplicitly] + public bool ShouldSerializeIPCPasswordFormat() => !Saving || (IPCPasswordFormat != DefaultIPCPasswordFormat); + + [UsedImplicitly] + public bool ShouldSerializeLoginLimiterDelay() => !Saving || (LoginLimiterDelay != DefaultLoginLimiterDelay); + + [UsedImplicitly] + public bool ShouldSerializeMaxFarmingTime() => !Saving || (MaxFarmingTime != DefaultMaxFarmingTime); + + [UsedImplicitly] + public bool ShouldSerializeMaxTradeHoldDuration() => !Saving || (MaxTradeHoldDuration != DefaultMaxTradeHoldDuration); + + [UsedImplicitly] + public bool ShouldSerializeOptimizationMode() => !Saving || (OptimizationMode != DefaultOptimizationMode); + + [UsedImplicitly] + public bool ShouldSerializeSSteamOwnerID() => !Saving; + + [UsedImplicitly] + public bool ShouldSerializeStatistics() => !Saving || (Statistics != DefaultStatistics); + + [UsedImplicitly] + public bool ShouldSerializeSteamMessagePrefix() => !Saving || (SteamMessagePrefix != DefaultSteamMessagePrefix); + + [UsedImplicitly] + public bool ShouldSerializeSteamOwnerID() => !Saving || (SteamOwnerID != DefaultSteamOwnerID); + + [UsedImplicitly] + public bool ShouldSerializeSteamProtocols() => !Saving || (SteamProtocols != DefaultSteamProtocols); + + [UsedImplicitly] + public bool ShouldSerializeUpdateChannel() => !Saving || (UpdateChannel != DefaultUpdateChannel); + + [UsedImplicitly] + public bool ShouldSerializeUpdatePeriod() => !Saving || (UpdatePeriod != DefaultUpdatePeriod); + + [UsedImplicitly] + public bool ShouldSerializeWebLimiterDelay() => !Saving || (WebLimiterDelay != DefaultWebLimiterDelay); + + [UsedImplicitly] + public bool ShouldSerializeWebProxyPassword() => Saving && IsWebProxyPasswordSet && (WebProxyPassword != DefaultWebProxyPassword); + + [UsedImplicitly] + public bool ShouldSerializeWebProxyText() => !Saving || (WebProxyText != DefaultWebProxyText); + + [UsedImplicitly] + public bool ShouldSerializeWebProxyUsername() => !Saving || (WebProxyUsername != DefaultWebProxyUsername); + internal (bool Valid, string? ErrorMessage) CheckValidation() { if (Blacklist.Contains(0)) { return (false, string.Format(CultureInfo.CurrentCulture, Strings.ErrorConfigPropertyInvalid, nameof(Blacklist), 0)); @@ -451,39 +541,5 @@ namespace ArchiSteamFarm.Storage { Stable, Experimental } - - // ReSharper disable UnusedMember.Global - public bool ShouldSerializeAutoRestart() => !Saving || (AutoRestart != DefaultAutoRestart); - public bool ShouldSerializeBlacklist() => !Saving || ((Blacklist != DefaultBlacklist) && !Blacklist.SetEquals(DefaultBlacklist)); - public bool ShouldSerializeCommandPrefix() => !Saving || (CommandPrefix != DefaultCommandPrefix); - public bool ShouldSerializeConfirmationsLimiterDelay() => !Saving || (ConfirmationsLimiterDelay != DefaultConfirmationsLimiterDelay); - public bool ShouldSerializeConnectionTimeout() => !Saving || (ConnectionTimeout != DefaultConnectionTimeout); - public bool ShouldSerializeCurrentCulture() => !Saving || (CurrentCulture != DefaultCurrentCulture); - public bool ShouldSerializeDebug() => !Saving || (Debug != DefaultDebug); - public bool ShouldSerializeFarmingDelay() => !Saving || (FarmingDelay != DefaultFarmingDelay); - public bool ShouldSerializeGiftsLimiterDelay() => !Saving || (GiftsLimiterDelay != DefaultGiftsLimiterDelay); - public bool ShouldSerializeHeadless() => !Saving || (Headless != DefaultHeadless); - public bool ShouldSerializeIdleFarmingPeriod() => !Saving || (IdleFarmingPeriod != DefaultIdleFarmingPeriod); - public bool ShouldSerializeInventoryLimiterDelay() => !Saving || (InventoryLimiterDelay != DefaultInventoryLimiterDelay); - public bool ShouldSerializeIPC() => !Saving || (IPC != DefaultIPC); - public bool ShouldSerializeIPCPassword() => Saving && IsIPCPasswordSet && (IPCPassword != DefaultIPCPassword); - public bool ShouldSerializeIPCPasswordFormat() => !Saving || (IPCPasswordFormat != DefaultIPCPasswordFormat); - public bool ShouldSerializeLoginLimiterDelay() => !Saving || (LoginLimiterDelay != DefaultLoginLimiterDelay); - public bool ShouldSerializeMaxFarmingTime() => !Saving || (MaxFarmingTime != DefaultMaxFarmingTime); - public bool ShouldSerializeMaxTradeHoldDuration() => !Saving || (MaxTradeHoldDuration != DefaultMaxTradeHoldDuration); - public bool ShouldSerializeOptimizationMode() => !Saving || (OptimizationMode != DefaultOptimizationMode); - public bool ShouldSerializeSSteamOwnerID() => !Saving; - public bool ShouldSerializeStatistics() => !Saving || (Statistics != DefaultStatistics); - public bool ShouldSerializeSteamMessagePrefix() => !Saving || (SteamMessagePrefix != DefaultSteamMessagePrefix); - public bool ShouldSerializeSteamOwnerID() => !Saving || (SteamOwnerID != DefaultSteamOwnerID); - public bool ShouldSerializeSteamProtocols() => !Saving || (SteamProtocols != DefaultSteamProtocols); - public bool ShouldSerializeUpdateChannel() => !Saving || (UpdateChannel != DefaultUpdateChannel); - public bool ShouldSerializeUpdatePeriod() => !Saving || (UpdatePeriod != DefaultUpdatePeriod); - public bool ShouldSerializeWebLimiterDelay() => !Saving || (WebLimiterDelay != DefaultWebLimiterDelay); - public bool ShouldSerializeWebProxyPassword() => Saving && IsWebProxyPasswordSet && (WebProxyPassword != DefaultWebProxyPassword); - public bool ShouldSerializeWebProxyText() => !Saving || (WebProxyText != DefaultWebProxyText); - public bool ShouldSerializeWebProxyUsername() => !Saving || (WebProxyUsername != DefaultWebProxyUsername); - - // ReSharper restore UnusedMember.Global } } diff --git a/ArchiSteamFarm/Storage/GlobalDatabase.cs b/ArchiSteamFarm/Storage/GlobalDatabase.cs index 197137eac..3932d18d7 100644 --- a/ArchiSteamFarm/Storage/GlobalDatabase.cs +++ b/ArchiSteamFarm/Storage/GlobalDatabase.cs @@ -159,6 +159,24 @@ namespace ArchiSteamFarm.Storage { Utilities.InBackground(Save); } + [UsedImplicitly] + public bool ShouldSerializeBackingCellID() => BackingCellID != 0; + + [UsedImplicitly] + public bool ShouldSerializeBackingLastChangeNumber() => LastChangeNumber != 0; + + [UsedImplicitly] + public bool ShouldSerializeKeyValueJsonStorage() => !KeyValueJsonStorage.IsEmpty; + + [UsedImplicitly] + public bool ShouldSerializePackagesAccessTokens() => !PackagesAccessTokens.IsEmpty; + + [UsedImplicitly] + public bool ShouldSerializePackagesData() => !PackagesData.IsEmpty; + + [UsedImplicitly] + public bool ShouldSerializeServerListProvider() => ServerListProvider.ShouldSerializeServerRecords(); + protected override void Dispose(bool disposing) { if (disposing) { // Events we registered @@ -337,15 +355,5 @@ namespace ArchiSteamFarm.Storage { await Save().ConfigureAwait(false); } - - // ReSharper disable UnusedMember.Global - public bool ShouldSerializeBackingCellID() => BackingCellID != 0; - public bool ShouldSerializeBackingLastChangeNumber() => LastChangeNumber != 0; - public bool ShouldSerializeKeyValueJsonStorage() => !KeyValueJsonStorage.IsEmpty; - public bool ShouldSerializePackagesAccessTokens() => !PackagesAccessTokens.IsEmpty; - public bool ShouldSerializePackagesData() => !PackagesData.IsEmpty; - public bool ShouldSerializeServerListProvider() => ServerListProvider.ShouldSerializeServerRecords(); - - // ReSharper restore UnusedMember.Global } }