private bool onPurchaseComplete(CatalogServiceEvents.ItemPurchaseCompleteEvent e)
        {
            int coins = Service.Get <CPDataEntityCollection>().GetComponent <CoinsData>(Service.Get <CPDataEntityCollection>().LocalPlayerHandle).Coins;

            if (e.Response.newCoinTotal < coins)
            {
                coins -= (int)e.Response.newCoinTotal;
                Service.Get <CPDataEntityCollection>().GetComponent <CoinsData>(Service.Get <CPDataEntityCollection>().LocalPlayerHandle).RemoveCoins(coins);
            }
            if (selectedItem.clothingCatalogItemId == purchaseItem.clothingCatalogItemId && buyPanel != null)
            {
                buyPanel.SetState(CatalogShopBuyPanelState.Success);
            }
            if (itemForPurchase.HasValue)
            {
                DCustomEquipment data = CustomEquipmentResponseAdaptor.ConvertResponseToCustomEquipment(itemForPurchase.Value);
                data.Id = e.Response.equipmentId;
                data.DateTimeCreated = DateTime.UtcNow.GetTimeInMilliseconds();
                DataEntityHandle localPlayerHandle = Service.Get <CPDataEntityCollection>().LocalPlayerHandle;
                InventoryData    component         = Service.Get <CPDataEntityCollection>().GetComponent <InventoryData>(localPlayerHandle);
                if (component != null)
                {
                    InventoryIconModel <DCustomEquipment> value = new InventoryIconModel <DCustomEquipment>(data.Id, data, isEquipped: false, isMemberItem: true);
                    component.Inventory.Add(data.Id, value);
                    Service.Get <NotificationBreadcrumbController>().AddPersistentBreadcrumb(BreadcrumbType, data.Id.ToString());
                }
                else
                {
                    Log.LogError(this, "Unable to locate InventoryData object.");
                }
            }
            Service.Get <CatalogServiceProxy>().cache.ClearCache();
            return(false);
        }
Esempio n. 2
0
 private bool onPurchaseComplete(CatalogServiceEvents.ItemPurchaseCompleteEvent evt)
 {
     Service.Get <EventDispatcher>().RemoveListener <CatalogServiceEvents.ItemPurchaseCompleteEvent>(onPurchaseComplete);
     if (ItemOwned != null && PriceTag != null)
     {
         isAlreadyOwned = true;
         ItemOwned.SetActive(isAlreadyOwned);
         PriceTag.SetActive(!isAlreadyOwned);
     }
     removeListeners();
     return(false);
 }
 private void onPurchaseItemResponse(ItemPurchaseOperation operation, HttpResponse response)
 {
     CatalogServiceEvents.ItemPurchaseCompleteEvent evt = new CatalogServiceEvents.ItemPurchaseCompleteEvent(operation.Response);
     Service.Get <EventDispatcher>().DispatchEvent(evt);
 }