Beispiel #1
0
            static void Postfix(StoreData __instance, ref string[] ___generalProduct, ref SaleProductData[] ___generalProductData)
            {
                if (!enabled)
                {
                    return;
                }
                Dbgl(__instance.storeIcon);
                if (___generalProduct == null)
                {
                    ___generalProduct     = new string[0];
                    ___generalProductData = new SaleProductData[0];
                }
                int i = ___generalProduct.Length;

                string[]          newProduct     = new string[i + weapons.Count];
                SaleProductData[] newProductData = new SaleProductData[i + weapons.Count];

                Array.Copy(___generalProduct, newProduct, i);
                Array.Copy(___generalProductData, newProductData, i);

                foreach (Weapon weapon in weapons)
                {
                    Dbgl($"weapon store id {weapon.storeId} id {weapon.itemId} {__instance.id}");
                    if (weapon.storeId == __instance.id)
                    {
                        Dbgl("adding weapon");
                        string data = $"{weapon.productId}_{weapon.count}{(weapon.chance < 1f ? "_" + weapon.chance : "")}";
                        newProduct[i]       = data;
                        newProductData[i++] = new SaleProductData(data);
                    }
                }
                ___generalProduct     = newProduct;
                ___generalProductData = newProductData;
            }
Beispiel #2
0
            static void Postfix(StoreData __instance, ref string[] ___generalProduct, ref SaleProductData[] ___generalProductData)
            {
                if (!enabled)
                {
                    return;
                }
                if (___generalProduct == null)
                {
                    ___generalProduct     = new string[0];
                    ___generalProductData = new SaleProductData[0];
                }
                int i = ___generalProduct.Length;

                string[]          newProduct     = new string[i + storeItems.Count];
                SaleProductData[] newProductData = new SaleProductData[i + storeItems.Count];

                Array.Copy(___generalProduct, newProduct, i);
                Array.Copy(___generalProductData, newProductData, i);

                foreach (StoreItem item in storeItems)
                {
                    if (item.storeId == __instance.id)
                    {
                        string data = $"{item.productId}_{item.count}{(item.chance < 1f ? "_" + item.chance : "")}";
                        newProduct[i]       = data;
                        newProductData[i++] = new SaleProductData(data);
                        Dbgl($"added item to store: {ItemDataMgr.Self.GetItemName(item.itemId)} {new SaleProductData(data).productId}");
                    }
                }
                ___generalProduct     = newProduct;
                ___generalProductData = newProductData;
            }