From ec2c78ea81204a523c38ef242a00c55744abcdcc Mon Sep 17 00:00:00 2001 From: JustArchi Date: Sun, 25 Dec 2016 06:29:13 +0100 Subject: [PATCH] Unify Forwarding and Distributing under RedeemingPreferences Similar to TradingPreferences --- ArchiSteamFarm/Bot.cs | 4 ++-- ArchiSteamFarm/BotConfig.cs | 17 +++++++++++------ ArchiSteamFarm/config/example.json | 3 +-- ConfigGenerator/BotConfig.cs | 18 ++++++++++++------ 4 files changed, 26 insertions(+), 16 deletions(-) diff --git a/ArchiSteamFarm/Bot.cs b/ArchiSteamFarm/Bot.cs index c294dcddb..02b65fc9e 100755 --- a/ArchiSteamFarm/Bot.cs +++ b/ArchiSteamFarm/Bot.cs @@ -2062,8 +2062,8 @@ namespace ArchiSteamFarm { return null; } - bool forward = !redeemFlags.HasFlag(ERedeemFlags.SkipForwarding) && (redeemFlags.HasFlag(ERedeemFlags.ForceForwarding) || BotConfig.ForwardKeysToOtherBots); - bool distribute = !redeemFlags.HasFlag(ERedeemFlags.SkipDistribution) && (redeemFlags.HasFlag(ERedeemFlags.ForceDistribution) || BotConfig.DistributeKeys); + bool forward = !redeemFlags.HasFlag(ERedeemFlags.SkipForwarding) && (redeemFlags.HasFlag(ERedeemFlags.ForceForwarding) || BotConfig.RedeemingPreferences.HasFlag(BotConfig.ERedeemingPreferences.Forwarding)); + bool distribute = !redeemFlags.HasFlag(ERedeemFlags.SkipDistribution) && (redeemFlags.HasFlag(ERedeemFlags.ForceDistribution) || BotConfig.RedeemingPreferences.HasFlag(BotConfig.ERedeemingPreferences.Distributing)); message = message.Replace(",", Environment.NewLine); StringBuilder response = new StringBuilder(); diff --git a/ArchiSteamFarm/BotConfig.cs b/ArchiSteamFarm/BotConfig.cs index f13a23b57..88b0ea30b 100644 --- a/ArchiSteamFarm/BotConfig.cs +++ b/ArchiSteamFarm/BotConfig.cs @@ -54,9 +54,6 @@ namespace ArchiSteamFarm { [JsonProperty(Required = Required.DisallowNull)] internal readonly bool DismissInventoryNotifications = true; - [JsonProperty(Required = Required.DisallowNull)] - internal readonly bool DistributeKeys = false; - [JsonProperty(Required = Required.DisallowNull)] internal readonly bool Enabled = false; @@ -66,9 +63,6 @@ namespace ArchiSteamFarm { [JsonProperty(Required = Required.DisallowNull)] internal readonly bool FarmOffline = false; - [JsonProperty(Required = Required.DisallowNull)] - internal readonly bool ForwardKeysToOtherBots = false; - [JsonProperty(Required = Required.DisallowNull)] internal readonly HashSet GamesPlayedWhileIdle = new HashSet(); @@ -87,6 +81,9 @@ namespace ArchiSteamFarm { [JsonProperty(Required = Required.DisallowNull)] internal readonly bool Paused = false; + [JsonProperty(Required = Required.DisallowNull)] + internal readonly ERedeemingPreferences RedeemingPreferences = ERedeemingPreferences.None; + [JsonProperty(Required = Required.DisallowNull)] internal readonly bool SendOnFarmingFinished = false; @@ -180,6 +177,14 @@ namespace ArchiSteamFarm { NamesDescending } + [Flags] + internal enum ERedeemingPreferences : byte { + [SuppressMessage("ReSharper", "UnusedMember.Global")] + None = 0, + Forwarding = 1, + Distributing = 2 + } + [Flags] internal enum ETradingPreferences : byte { [SuppressMessage("ReSharper", "UnusedMember.Global")] diff --git a/ArchiSteamFarm/config/example.json b/ArchiSteamFarm/config/example.json index 579fe2be5..4fa99a569 100644 --- a/ArchiSteamFarm/config/example.json +++ b/ArchiSteamFarm/config/example.json @@ -5,11 +5,9 @@ "CustomGamePlayedWhileFarming": null, "CustomGamePlayedWhileIdle": null, "DismissInventoryNotifications": true, - "DistributeKeys": false, "Enabled": false, "FarmingOrder": 0, "FarmOffline": false, - "ForwardKeysToOtherBots": false, "GamesPlayedWhileIdle": [], "HandleOfflineMessages": false, "IsBotAccount": false, @@ -20,6 +18,7 @@ ], "PasswordFormat": 0, "Paused": false, + "RedeemingPreferences": 0, "SendOnFarmingFinished": false, "SendTradePeriod": 0, "ShutdownOnFarmingFinished": false, diff --git a/ConfigGenerator/BotConfig.cs b/ConfigGenerator/BotConfig.cs index c7a42bf3a..bd7aa83c1 100644 --- a/ConfigGenerator/BotConfig.cs +++ b/ConfigGenerator/BotConfig.cs @@ -57,9 +57,6 @@ namespace ConfigGenerator { [JsonProperty(Required = Required.DisallowNull)] public bool DismissInventoryNotifications { get; set; } = true; - [JsonProperty(Required = Required.DisallowNull)] - public bool DistributeKeys { get; set; } = false; - [Category("\t\tCore")] [JsonProperty(Required = Required.DisallowNull)] public bool Enabled { get; set; } = false; @@ -70,9 +67,6 @@ namespace ConfigGenerator { [JsonProperty(Required = Required.DisallowNull)] public bool FarmOffline { get; set; } = false; - [JsonProperty(Required = Required.DisallowNull)] - public bool ForwardKeysToOtherBots { get; set; } = false; - [JsonProperty(Required = Required.DisallowNull)] public List GamesPlayedWhileIdle { get; set; } = new List(); @@ -95,6 +89,11 @@ namespace ConfigGenerator { [JsonProperty(Required = Required.DisallowNull)] public bool Paused { get; set; } = false; + [Category("\tAdvanced")] + [Editor(typeof(FlagEnumUiEditor), typeof(UITypeEditor))] + [JsonProperty(Required = Required.DisallowNull)] + public ERedeemingPreferences RedeemingPreferences { get; set; } = ERedeemingPreferences.None; + [JsonProperty(Required = Required.DisallowNull)] public bool SendOnFarmingFinished { get; set; } = false; @@ -195,6 +194,13 @@ namespace ConfigGenerator { NamesDescending } + [Flags] + internal enum ERedeemingPreferences : byte { + None = 0, + Forwarding = 1, + Distributing = 2 + } + [Flags] internal enum ETradingPreferences : byte { None = 0,