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");
         }
     }
 }
示例#4
0
    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);
    }
示例#7
0
    private async Task <GamePricesData> LoadPriceDataFromFirebase()
    {
        GamePricesData priceData = await userResourcesManager.LoadPriceDataFromFirebase();

        return(priceData);
    }