Пример #1
0
        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));
        }
Пример #2
0
        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);
        }
Пример #3
0
        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;
        }