public async void RestCardAmountFromCardCollection(DefaultCollectionDataDB pCardData, UserDB pUserDB) { if (DatosFirebaseRTHelper.Instance.isInit == false) { return; } int cardAmount = await GetUserCardCollectionCardAmount(pCardData, pUserDB); if (cardAmount <= 1) { await DatosFirebaseRTHelper.Instance.reference.Child(DatosFirebaseRTHelper.Instance.UsersCardCollectionTable) .Child(pUserDB.Name.ToLower()) .Child(pCardData.ID).SetValueAsync(null); } else { cardAmount--; await DatosFirebaseRTHelper.Instance.reference.Child(DatosFirebaseRTHelper.Instance.UsersCardCollectionTable) .Child(pUserDB.Name.ToLower()) .Child(pCardData.ID) .UpdateChildrenAsync(new Dictionary <string, object> { { cardAmountstr, cardAmount } }); } FbUserCardCollectionUpdater userCollUpd = new FbUserCardCollectionUpdater(); userCollUpd.UpdateLastUserCardCollectionModifyUpdateTimestamp(pUserDB); }
public async Task <List <DefaultCollectionDataDB> > GetDefaultCardCollection() { if (DatosFirebaseRTHelper.Instance.isInit == false) { return(null); } List <DefaultCollectionDataDB> allCardList = new List <DefaultCollectionDataDB>(); DatosFirebaseRTHelper.Instance.reference.Child(DatosFirebaseRTHelper.Instance.DefaultCollectionTable).KeepSynced(true); await DatosFirebaseRTHelper.Instance.reference.Child(DatosFirebaseRTHelper.Instance.DefaultCollectionTable).GetValueAsync().ContinueWith(task => { if (task.IsFaulted) { //Debug.Log("NoChild"); // Handle the error... } else if (task.IsCompleted) { DataSnapshot snapshot = task.Result; foreach (var child in snapshot.Children) { DefaultCollectionDataDB card = JsonUtility.FromJson <DefaultCollectionDataDB>(child.GetRawJsonValue()); allCardList.Add(card); } } }); return(allCardList); }
public async Task <bool> AddNewCardToUserCollection(CardData pCardData, UserDB pUserDB) { string cardID = "CardID" + pCardData.ID; DefaultCollectionDataDB dfColl = new DefaultCollectionDataDB(cardID, 1); bool isLoaded = await helperUserCardCollectionFirebaseKimboko.AddNewCardToUserCollection(dfColl, pUserDB); return(isLoaded); }
public void GenerateUserDeckToJson() { userDeckJson = new List <DefaultCollectionDataDB>(); foreach (KeyValuePair <CardData, DefaultCollectionDataDB> item in userDeck) { DefaultCollectionDataDB df = new DefaultCollectionDataDB(item.Value.ID, item.Value.Amount); userDeckJson.Add(df); if (amountPerRarity.ContainsKey(item.Key.CardRarity)) { amountPerRarity[item.Key.CardRarity]++; } else { amountPerRarity.Add(item.Key.CardRarity, 1); } } }
public async Task <bool> SetNewCardToUserCardCollection(DefaultCollectionDataDB pCardData, UserDB pUserDB) { if (DatosFirebaseRTHelper.Instance.isInit == false) { return(false); } int cardAmount = await GetUserCardCollectionCardAmount(pCardData, pUserDB); if (cardAmount == 0) { pCardData.Amount = 1; string json = JsonUtility.ToJson(pCardData); await DatosFirebaseRTHelper.Instance.reference.Child(DatosFirebaseRTHelper.Instance.UsersCardCollectionTable) .Child(pUserDB.Name.ToLower()) .Child(pCardData.ID) .SetRawJsonValueAsync(json); } else { cardAmount++; await DatosFirebaseRTHelper.Instance.reference.Child(DatosFirebaseRTHelper.Instance.UsersCardCollectionTable) .Child(pUserDB.Name.ToLower()) .Child(pCardData.ID) .UpdateChildrenAsync(new Dictionary <string, object> { { cardAmountstr, cardAmount } }); } int newCardAmount = await GetUserCardCollectionCardAmount(pCardData, pUserDB); //Debug.Log("NEW CARD AMOUNT SETED ON DB CARD ID " + pCardData.ID + " Amount: " + cardAmount); if (cardAmount == newCardAmount) { //Debug.Log("IS THE SAME AMOUNT TRUE"); FbUserCardCollectionUpdater userCollUpd = new FbUserCardCollectionUpdater(); userCollUpd.UpdateLastUserCardCollectionModifyUpdateTimestamp(pUserDB); return(true); } else { return(false); } }
public async Task <int> GetUserCardCollectionCardAmount(DefaultCollectionDataDB pCardData, UserDB pUserDB) { if (DatosFirebaseRTHelper.Instance.isInit == false) { return(0); } DataSnapshot dtSnapshot = null; DatosFirebaseRTHelper.Instance.reference.Child(DatosFirebaseRTHelper.Instance.UsersCardCollectionTable) .Child(pUserDB.Name.ToLower()) .Child(pCardData.ID).KeepSynced(true); await DatosFirebaseRTHelper.Instance.reference.Child(DatosFirebaseRTHelper.Instance.UsersCardCollectionTable) .Child(pUserDB.Name.ToLower()) .Child(pCardData.ID).GetValueAsync().ContinueWith(task => { if (task.IsFaulted) { //Debug.Log("NoChild"); // Handle the error... } else if (task.IsCompleted) { dtSnapshot = task.Result; } }); DefaultCollectionDataDB utcLastGCCDownload = new DefaultCollectionDataDB(); if (dtSnapshot != null) { if (dtSnapshot.Exists) { utcLastGCCDownload = JsonUtility.FromJson <DefaultCollectionDataDB>(dtSnapshot.GetRawJsonValue()); } } return(utcLastGCCDownload.Amount); }
public void AddCard(CardData pCardData) { if (userDeck.ContainsKey(pCardData)) { userDeck[pCardData].Amount++; } else { DefaultCollectionDataDB df = new DefaultCollectionDataDB("CardID" + pCardData.ID, 1); userDeck.Add(pCardData, df); } if (amountPerRarity.ContainsKey(pCardData.CardRarity)) { amountPerRarity[pCardData.CardRarity]++; } else { amountPerRarity.Add(pCardData.CardRarity, 1); } totalCards++; }
public async Task <List <DefaultCollectionDataDB> > GetUserCardCollection(UserDB pUser) { if (DatosFirebaseRTHelper.Instance.isInit == false) { return(null); } List <DefaultCollectionDataDB> allCardList = new List <DefaultCollectionDataDB>(); //FirebaseDatabase.DefaultInstance.GetReference(UsersCardCollectionTable).Child(pUser.Name.ToLower()) DatosFirebaseRTHelper.Instance.reference.Child(DatosFirebaseRTHelper.Instance.UsersCardCollectionTable) .Child(pUser.Name.ToLower()).KeepSynced(true); await DatosFirebaseRTHelper.Instance.reference.Child(DatosFirebaseRTHelper.Instance.UsersCardCollectionTable) .Child(pUser.Name.ToLower()).GetValueAsync().ContinueWith(task => { if (task.IsFaulted) { //Debug.Log("NoChild"); // Handle the error... } else if (task.IsCompleted) { DataSnapshot snapshot = task.Result; foreach (var child in snapshot.Children) { DefaultCollectionDataDB card = JsonUtility.FromJson <DefaultCollectionDataDB>(child.GetRawJsonValue()); allCardList.Add(card); } } }); if (allCardList.Count > 0) { FbUserCardCollectionUpdater userCollUpd = new FbUserCardCollectionUpdater(); userCollUpd.UpdateLastUserCardCollectionDownloadTimestamp(pUser); } return(allCardList); }
public void RestCardAmountFromCardCollection(DefaultCollectionDataDB pCardData, UserDB pUserDB) { DefaultCollectionDataDB dfColl = new DefaultCollectionDataDB(pCardData.ID, 1); fbUserCardCollection.RestCardAmountFromCardCollection(dfColl, pUserDB); }
public async Task <bool> AddNewCardToUserCollection(DefaultCollectionDataDB dfCollCardToAdd, UserDB pUser) { bool isLoaded = await fbUserCardCollection.SetNewCardToUserCardCollection(dfCollCardToAdd, pUser); return(isLoaded); }
public void RestCardAmountFromCardCollection(DefaultCollectionDataDB pCardData, UserDB pUserDB) { helperUserCardCollectionFirebaseKimboko.RestCardAmountFromCardCollection(pCardData, pUserDB); }