コード例 #1
0
    private void GetNewItemsListAndAddCurrent(NewItemsList currentNewItemsList)
    {
        FirebaseCommunicator.instance.GetObject(newItemsReferenceName, (task) =>
        {
            if (task.IsFaulted)
            {
                Debug.Log("Error getting new items list: " + task.Exception.InnerException.Message);
            }
            else
            {
                NewItemsList newItemsListToSend;
                string json = task.Result.GetRawJsonValue();
                if (string.IsNullOrEmpty(json))
                {
                    newItemsListToSend = currentNewItemsList;
                }
                else
                {
                    NewItemsList oldNewItemsList = JsonConvert.DeserializeObject <NewItemsList>(json);
                    newItemsListToSend           = currentNewItemsList.Merge(oldNewItemsList);
                }

                SendNewItemsList(newItemsListToSend);
            }
        });
    }
コード例 #2
0
    private void AddToNewItemsLog(int diseasedGoldLoss)
    {
        string itemName = null;

        if (DiseasedManager.instance.DiseasedItem != null)
        {
            itemName = DiseasedManager.instance.DiseasedItem.ItemNameKey;
        }

        NewItemsList currentNewItemsList = new NewItemsList(diseasedGoldLoss, itemQuantity, itemName);

        GetNewItemsListAndAddCurrent(currentNewItemsList);
    }
コード例 #3
0
 internal NewItemsList Merge(NewItemsList oldNewItemsList)
 {
     diseasedGoldLoss += oldNewItemsList.diseasedGoldLoss;
     foreach (var lootedItem in oldNewItemsList.lootedItems)
     {
         if (lootedItems.ContainsKey(lootedItem.Key))
         {
             lootedItems[lootedItem.Key] += lootedItem.Value;
         }
         else
         {
             lootedItems.Add(lootedItem.Key, lootedItem.Value);
         }
     }
     return(this);
 }
コード例 #4
0
    private void SendNewItemsList(NewItemsList newItemsListToSend)
    {
        string json = JsonConvert.SerializeObject(newItemsListToSend);

        FirebaseCommunicator.instance.SendObject(json, newItemsReferenceName, (task) =>
        {
            if (task.IsFaulted)
            {
                Debug.Log("Error sending new items list: " + task.Exception.InnerException.Message);
            }
            else if (task.IsCompleted)
            {
                Debug.Log("New items list sent!");
            }
        });
    }