Keeps the repo root clean - only README.md visible on landing page. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
40 lines
1.3 KiB
C#
40 lines
1.3 KiB
C#
/// @name Catalog Item Finder
|
|
|
|
var targetIdentifier = "xmas_ltd25_frostegg";
|
|
var catalog = GetCatalog();
|
|
var nodes = catalog.Where(x => x.Id > 0).ToArray();
|
|
|
|
for (int i = 0; i < nodes.Length; i++) {
|
|
var node = nodes[i];
|
|
Status($"Searching {i+1}/{nodes.Length}...");
|
|
|
|
var page = GetCatalogPage(node);
|
|
|
|
foreach (var offer in page.Offers) {
|
|
foreach (var product in offer.Products) {
|
|
if (product.Type != ItemType.Floor && product.Type != ItemType.Wall) continue;
|
|
if (product.GetIdentifier() != targetIdentifier) continue;
|
|
|
|
var pointsLabel = offer.ActivityPointType.ToString() == "Diamond"
|
|
? "PriceInDiamonds"
|
|
: "PriceInActivityPoints";
|
|
|
|
Log($"Found: {targetIdentifier}\n" +
|
|
$" id: {offer.Id}\n" +
|
|
$" pageId: {node.Id}\n" +
|
|
$" pageName: {node.Name}\n" +
|
|
$" furniLine: {offer.FurniLine}\n" +
|
|
$" priceInCredits: {offer.PriceInCredits}\n" +
|
|
$" {pointsLabel}: {offer.PriceInActivityPoints}\n" +
|
|
$" canPurchaseMultiple: {offer.CanPurchaseMultiple}\n" +
|
|
$" canPurchaseAsGift: {offer.CanPurchaseAsGift}\n" +
|
|
$" type: {product.Type}\n" +
|
|
$" isLimited: {product.IsLimited}");
|
|
return;
|
|
}
|
|
}
|
|
|
|
await Task.Delay(150);
|
|
}
|
|
|
|
Log("Item not found in catalog"); |