protected override void PerformOfflineAction(OfflineDatabase offlineDatabase, IOfflineDefinitionLoader offlineDefinitions) { ClubPenguin.Net.Offline.ConsumableInventory value = offlineDatabase.Read <ClubPenguin.Net.Offline.ConsumableInventory>(); if (value.Inventory.ContainsKey(Type)) { value.Inventory[Type].itemCount += Count; } else { value.Inventory[Type] = new InventoryItemStock { itemCount = Count }; } value.Inventory[Type].lastPurchaseTimestamp = DateTime.UtcNow.GetTimeInMilliseconds(); offlineDatabase.Write(value); offlineDefinitions.SubtractConsumableCost(Type, Count); Response = new PurchaseConsumableResponse { assets = offlineDatabase.Read <ClubPenguin.Net.Offline.PlayerAssets>().Assets, inventory = new SignedResponse <ClubPenguin.Net.Domain.ConsumableInventory> { Data = new ClubPenguin.Net.Domain.ConsumableInventory { inventoryMap = value.Inventory } } }; }
private void onPurchaseConsumableResponse(PurchaseConsumableOperation operation, HttpResponse httpResponse) { PurchaseConsumableResponse response = operation.Response; Service.Get <EventDispatcher>().DispatchEvent(new RewardServiceEvents.MyAssetsReceived(response.assets)); inventoryDataReturned(response.inventory); handleCPResponse(response); }