public List <Item> GetCarOptions() { List <Item> results = new List <Item>(); CarNpcManager manager = CarNpcManager.Singleton; if (manager == null) { return(results); } foreach (CarNpcManager.NpcCars car in Enum.GetValues(typeof(CarNpcManager.NpcCars))) { ProductVersion version = manager.GetProductVersionForNpcCar(car); ResourceKey key = GlobalFunctions.CreateProductKey((ulong)car, version); BuildBuyProduct product = UserToolUtils.GetProduct(UserToolUtils.BuildBuyProductType.Object, key); if (product == null) { continue; } results.Add(new Item(car, product.CatalogName, new ThumbnailKey(product.ProductResourceKey, ThumbnailSize.Medium))); } return(results); }
public BuyProductList(Common.IStatGenerator stats, BuildBuyProduct.eBuyCategory buyCategory, BuildBuyProduct.eBuySubCategory buySubCategory, int minimumPrice, int maximumPrice) { List <object> products = UserToolUtils.GetObjectProductListFiltered((uint)buyCategory, uint.MaxValue, (ulong)buySubCategory, ulong.MaxValue, ulong.MaxValue, 0x0, uint.MaxValue, 0x0, 0x0); stats.IncStat("BuyProduct " + buyCategory); stats.IncStat("BuyProduct " + buySubCategory); stats.AddStat("BuyProduct Possibles", products.Count); foreach (object obj in products) { BuildBuyProduct product = obj as BuildBuyProduct; if (product == null) { continue; } if (!product.ShowInCatalog) { continue; } if (product.Price < minimumPrice) { continue; } if (product.Price > maximumPrice) { continue; } // 319e4f1d:00000000:00000000000f5f40 if (product.ObjectInstanceName == "RCcart") { continue; } // 319e4f1d:00000000:00000000000f5e5a if (product.ProductResourceKey != ResourceKey.kInvalidResourceKey && product.ProductResourceKey.ToString() == "319e4f1d:00000000:00000000000f5e5a") { continue; } // Common.WriteLog("Product: " + product.CatalogName + " ResKey: " + product.ProductResourceKey + " Instance: " + product.ObjectInstanceName); mProducts.Add(product); } stats.AddStat("BuyProduct Results", mProducts.Count); }