Hello. I'm trying to do function "Buy All Cars". The more cars the more requests. How can I optimize updating car data in my inventory?
handlers.BuyAllCars = function(args) { var inventory = server.GetUserInventory({PlayFabId: currentPlayerId}).Inventory; var carsCatalog = server.GetCatalogItems({CatalogVersion: "cars"}).Catalog; var inventoryCars = []; for(var i = 0; i < inventory.length; i++) { if(inventory[i].CatalogVersion != "cars") continue; inventoryCars.push(inventory[i]); } var buyCars = []; for(var i = 0; i < carsCatalog.length; i++) { var exist = false; for(var j = 0; j < inventoryCars.length; j++) { if(carsCatalog[i].ItemId == inventoryCars[j].ItemId) { exist = true; break; } } if(exist == true) continue; buyCars.push(carsCatalog[i].ItemId); } var grantItems = server.GrantItemsToUser( { CatalogVersion: "cars", PlayFabId: currentPlayerId, ItemIds: buyCars }); for(var i = 0; i < carsCatalog.length; i++) { for(var j = 0; j < grantItems.ItemGrantResults.length; j++) { if(carsCatalog[i].ItemId != grantItems.ItemGrantResults[j].ItemId) continue; var unencodedData = JSON.parse(carsCatalog[i].CustomData); var newData = {}; newData["engine"] = unencodedData.engine; newData["petrol"] = unencodedData.petrol; server.UpdateUserInventoryItemCustomData({ Data: newData, ItemInstanceId: grantItems.ItemGrantResults[j].ItemInstanceId, PlayFabId: currentPlayerId }); } } }