* Initial implementation of announce with diff

* Add missing logic pieces

* Change in logic

* Fix checksums

* Add deduplication logic

* Update SetPart.cs

* Use standalone endpoint for diff

* Use different hashcode impl

* Update AssetForListing.cs

* Misc

* Push all the changes for this to finally work

* Use original index rather than self-calculated

ASFB makes some calculations based on index, it's better for us to have holes rather than hiding skipped items.

* Handle edge case of no assets after deduplication

* Remove dead code

* Address trim warnings

* Misc optimization
This commit is contained in:
Łukasz Domeradzki
2023-11-29 00:08:16 +01:00
committed by GitHub
parent 8cf2d1bc94
commit 36ae066c65
17 changed files with 771 additions and 156 deletions

View File

@@ -26,9 +26,6 @@ using Newtonsoft.Json;
namespace ArchiSteamFarm.OfficialPlugins.ItemsMatcher.Data;
internal class AssetForMatching {
[JsonProperty("a", Required = Required.Always)]
internal readonly uint Amount;
[JsonProperty("c", Required = Required.Always)]
internal readonly ulong ClassID;
@@ -44,6 +41,9 @@ internal class AssetForMatching {
[JsonProperty("p", Required = Required.Always)]
internal readonly Asset.EType Type;
[JsonProperty("a", Required = Required.Always)]
internal uint Amount { get; set; }
[JsonConstructor]
protected AssetForMatching() { }