public async Task <GamePricesData> GetGamePricesData() { if (DatosFirebaseRTHelper.Instance.isInit == false) { return(null); } DataSnapshot dtSnapshot = null; DatosFirebaseRTHelper.Instance.reference.Child(DatosFirebaseRTHelper.Instance.GamePricesTable).KeepSynced(true); await DatosFirebaseRTHelper.Instance.reference.Child(DatosFirebaseRTHelper.Instance.GamePricesTable).GetValueAsync().ContinueWith(task => { if (task.IsFaulted) { //Debug.Log("NoChild"); // Handle the error... } else if (task.IsCompleted) { dtSnapshot = task.Result; } }); GamePricesData gamePricesData = new GamePricesData(); if (dtSnapshot != null) { if (dtSnapshot.Exists) { gamePricesData = JsonUtility.FromJson <GamePricesData>(dtSnapshot.GetRawJsonValue()); } } return(gamePricesData); }
public async Task <GamePricesData> LoadPriceDataFromFirebase() { GamePricesData priceData = await fbGamePriceData.GetGamePricesData(); prices = priceData; return(priceData); }
public void LoadPriceDataFromFirebase(GamePricesData priceData) { if (priceData != null) { PackPrice = priceData.NormalPackPrices; if (debugOn) { Debug.Log("PRICE DATA LOADED FROM DB ONLINE"); } } }
private async void SetUser(UserDB pUser) { //UserDB fuser = new UserDB("mmm", "", "", "", "", false); userManager.SetUser(pUser); if (pUser.IsFirstTime == true) { cardCollectionManager.CreateNewUserCollections(pUser); userResourcesManager.CreateNewUserResources(pUser); } cardCollectionManager.LoadCollections(pUser); cardLimitDataManager.LoadCardLimitData(pUser); GamePricesData priceData = await LoadPriceDataFromFirebase(); UserResources userResources = await LoadUserResourcesFromFirebase(); shopManager.LoadPriceDataFromFirebase(priceData); shopManager.LoadUserResourcesFromFirebase(userResources); }
public async void BuyNewPack(UserDB pUserDB, CARDPACKTYPE cardPackType) { FbGamePriceData fbPData = new FbGamePriceData(); GamePricesData priceData = await fbPData.GetGamePricesData(); Debug.Log("BUY NEW PACK USER RESORUCES"); FbUserResourcesGold userGold = new FbUserResourcesGold(); switch (cardPackType) { case CARDPACKTYPE.NORMAL: userGold.SetNewGoldAmountToUser(pUserDB, -priceData.NormalPackPrices); SetNewUnopenPackAmountToUser(pUserDB, 1); break; case CARDPACKTYPE.SPECIAL: userGold.SetNewGoldAmountToUser(pUserDB, -1000); break; default: break; } }
public async Task <bool> IsUserAllowToBuyAPack(UserDB pUserDB, CARDPACKTYPE cardPackType) { if (DatosFirebaseRTHelper.Instance.isInit == false) { return(false); } FbGamePriceData pData = new FbGamePriceData(); FbUserResourcesGold goldData = new FbUserResourcesGold(); int userGold = await goldData.GetUserGoldAmount(pUserDB); GamePricesData priceData = await pData.GetGamePricesData(); //Debug.Log("CAN TRY USER GOLD " + userGold); //Debug.Log("CAN TRY PRICE DATA " + priceData.NormalPackPrices); switch (cardPackType) { case CARDPACKTYPE.NORMAL: if (userGold < priceData.NormalPackPrices) { return(false); } else { return(true); } case CARDPACKTYPE.SPECIAL: break; default: break; } return(false); }
private async Task <GamePricesData> LoadPriceDataFromFirebase() { GamePricesData priceData = await userResourcesManager.LoadPriceDataFromFirebase(); return(priceData); }