From 2545e7bbf3c19efde865b5b82461bc231677affa Mon Sep 17 00:00:00 2001 From: JustArchi Date: Sat, 31 Oct 2015 03:50:08 +0100 Subject: [PATCH] Make OtherSteamID64 less costly --- ArchiSteamFarm/Bot.cs | 4 ++-- ArchiSteamFarm/CardsFarmer.cs | 4 ++-- ArchiSteamFarm/SteamTradeOffer.cs | 9 +++++++-- ArchiSteamFarm/Trading.cs | 4 ++-- ArchiSteamFarm/config/example.xml | 2 +- 5 files changed, 14 insertions(+), 9 deletions(-) diff --git a/ArchiSteamFarm/Bot.cs b/ArchiSteamFarm/Bot.cs index 228e5d031..dc01fe4c0 100644 --- a/ArchiSteamFarm/Bot.cs +++ b/ArchiSteamFarm/Bot.cs @@ -200,7 +200,7 @@ namespace ArchiSteamFarm { SteamClient.Connect(); IsRunning = true; - Task.Run(() => HandleCallbacks()); + Task.Run(() => HandleCallbacks()); } internal void Stop() { @@ -210,7 +210,7 @@ namespace ArchiSteamFarm { SteamClient.Disconnect(); IsRunning = false; - } + } internal void Shutdown() { Stop(); diff --git a/ArchiSteamFarm/CardsFarmer.cs b/ArchiSteamFarm/CardsFarmer.cs index a187a74d3..6c8a0f92c 100644 --- a/ArchiSteamFarm/CardsFarmer.cs +++ b/ArchiSteamFarm/CardsFarmer.cs @@ -74,13 +74,13 @@ namespace ArchiSteamFarm { foreach (HtmlNode badgesPageNode in badgesPageNodes) { string steamLink = badgesPageNode.GetAttributeValue("href", null); if (steamLink == null) { - Logging.LogGenericWarning(Bot.BotName, "Couldn't get steamLink for one of the games: " + badgesPageNode.OuterHtml); + Logging.LogGenericError(Bot.BotName, "Couldn't get steamLink for one of the games: " + badgesPageNode.OuterHtml); continue; } uint appID = (uint) Utilities.OnlyNumbers(steamLink); if (appID == 0) { - Logging.LogGenericWarning(Bot.BotName, "Couldn't get appID for one of the games: " + badgesPageNode.OuterHtml); + Logging.LogGenericError(Bot.BotName, "Couldn't get appID for one of the games: " + badgesPageNode.OuterHtml); continue; } diff --git a/ArchiSteamFarm/SteamTradeOffer.cs b/ArchiSteamFarm/SteamTradeOffer.cs index 72c93eebc..087cc7d26 100644 --- a/ArchiSteamFarm/SteamTradeOffer.cs +++ b/ArchiSteamFarm/SteamTradeOffer.cs @@ -55,9 +55,14 @@ namespace ArchiSteamFarm { internal bool from_real_time_trade { get; set; } // Extra + private ulong _OtherSteamID64 = 0; internal ulong OtherSteamID64 { - get { // This is quite costly, consider getting only once - return new SteamID((uint) accountid_other, EUniverse.Public, EAccountType.Individual).ConvertToUInt64(); + get { + if (_OtherSteamID64 == 0 && accountid_other != 0) { + _OtherSteamID64 = new SteamID((uint) accountid_other, EUniverse.Public, EAccountType.Individual).ConvertToUInt64(); + } + + return _OtherSteamID64; } } } diff --git a/ArchiSteamFarm/Trading.cs b/ArchiSteamFarm/Trading.cs index 7c18440cb..7abd263b3 100644 --- a/ArchiSteamFarm/Trading.cs +++ b/ArchiSteamFarm/Trading.cs @@ -75,11 +75,11 @@ namespace ArchiSteamFarm { return; } - ulong steamID = tradeOffer.OtherSteamID64; + ulong otherSteamID = tradeOffer.OtherSteamID64; bool success = false; bool tradeAccepted = false; - if (tradeOffer.items_to_give.Count == 0 || steamID == Bot.SteamMasterID) { + if (tradeOffer.items_to_give.Count == 0 || otherSteamID == Bot.SteamMasterID) { tradeAccepted = true; success = await Bot.ArchiWebHandler.AcceptTradeOffer(tradeID).ConfigureAwait(false); } else { diff --git a/ArchiSteamFarm/config/example.xml b/ArchiSteamFarm/config/example.xml index 236059a7f..4d9268a24 100644 --- a/ArchiSteamFarm/config/example.xml +++ b/ArchiSteamFarm/config/example.xml @@ -5,7 +5,7 @@ - +