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); }
public static T Purchase(SimDescription sim, int minimumPrice, Common.IStatGenerator stats, string unlocalizedName, TestDelegate <T> test, BuildBuyProduct.eBuyCategory buyCategory, BuildBuyProduct.eBuySubCategory buySubCategory) { T obj = Inventories.InventoryFind <T>(sim); if (obj != null) { return(obj); } ManagedBuyProduct <T> list = new ManagedBuyProduct <T>(sim, stats, minimumPrice, buyCategory, buySubCategory); return(list.PrivatePurchase(stats, unlocalizedName, test)); }
public ManagedBuyProduct(SimDescription sim, Common.IStatGenerator stats, int minimumPrice, BuildBuyProduct.eBuyCategory buyCategory, BuildBuyProduct.eBuySubCategory buySubCategory) : base(stats, buyCategory, buySubCategory, minimumPrice, sim.FamilyFunds) { mSim = sim; mMinimumPrice = minimumPrice; }