示例#1
0
        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);
        }
示例#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);
        }