Exemple #1
0
    public void ToggleFacebookLink()
    {
        if (FB.IsLoggedIn)
        {
            Action <bool> afterCheck = response =>
            {
                if (response)
                {
                    PF_Authentication.UnlinkFbAccount();
                }
            };

            if (!PF_PlayerData.isPlayFabRegistered)
            {
                DialogCanvasController.RequestConfirmationPrompt(GlobalStrings.CONFIRM_UNLINK_PROMPT, GlobalStrings.CONFIRM_UNLINK_MSG, afterCheck);
            }
            else
            {
                DialogCanvasController.RequestConfirmationPrompt(GlobalStrings.CONFIRM_UNLINK_PROMPT, "Are you sure?", afterCheck);
            }
        }
        else
        {
            PF_Authentication.StartFacebookLogin(); // This will do the linking automatically based on being logged in
        }
    }
Exemple #2
0
    public void SetDisplayName()
    {
        Action <string> processResponse = response =>
        {
            if (response == null)
            {
                return;
            }

            PF_Authentication.UpdateDisplayName(response, result =>
            {
                displayName.text = result.DisplayName;
                PF_PlayerData.accountInfo.TitleInfo.DisplayName = result.DisplayName;
            });
        };

        if (FB.IsLoggedIn)
        {
            UnityAction <string> afterGetFbName = fbName =>
            {
                DialogCanvasController.RequestTextInputPrompt(GlobalStrings.DISPLAY_NAME_PROMPT, GlobalStrings.DISPLAY_NAME_MSG, processResponse, fbName);
            };
            FacebookHelperClass.GetFBUserName(afterGetFbName);
        }
        else
        {
            DialogCanvasController.RequestTextInputPrompt(GlobalStrings.DISPLAY_NAME_PROMPT, GlobalStrings.DISPLAY_NAME_MSG, processResponse);
        }
    }
Exemple #3
0
    public void SetDisplayName()
    {
        Action <string> processResponse = (string response) => {
            if (response != null)
            {
                PF_Authentication.UpdateDisplayName(response, (UpdateUserTitleDisplayNameResult result) =>
                {
                    this.displayName.text = result.DisplayName;
                    PF_PlayerData.accountInfo.TitleInfo.DisplayName = result.DisplayName;
                });
            }
        };

        if (PF_PlayerData.accountInfo.FacebookInfo != null)
        {
            UnityAction <string> afterGetFBName = (string name) =>
            {
                DialogCanvasController.RequestTextInputPrompt(GlobalStrings.DISPLAY_NAME_PROMPT, GlobalStrings.DISPLAY_NAME_MSG, processResponse, name);
            };

            FacebookHelperClass.GetFBUserName(afterGetFBName);
        }
        else
        {
            DialogCanvasController.RequestTextInputPrompt(GlobalStrings.DISPLAY_NAME_PROMPT, GlobalStrings.DISPLAY_NAME_MSG, processResponse);
        }
    }
Exemple #4
0
    public void ToggleShowOnLogin()
    {
        Action <bool> processResponse = (bool response) => {
            if (response == true)
            {
                this.isShownOnLogin    = !this.isShownOnLogin;
                this.changedLoginState = true;

                if (this.isShownOnLogin)
                {
                    this.showOnLogin.GetComponent <Image> ().overrideSprite = this.checkedBox;
                }
                else
                {
                    this.showOnLogin.GetComponent <Image> ().overrideSprite = this.uncheckedBox;
                }
            }
        };

        if (this.isShownOnLogin == true)
        {
            DialogCanvasController.RequestConfirmationPrompt(GlobalStrings.TOGGLE_PROMPT, GlobalStrings.TOGGLE_MSG, processResponse);
        }
        else
        {
            processResponse.Invoke(true);
        }
    }
Exemple #5
0
    public static void AddFriend(string input, AddFriendMethod method, UnityAction <bool> callback = null)
    {
        var request = new AddFriendRequest();

        switch (method)
        {
        case AddFriendMethod.DisplayName:
            request.FriendTitleDisplayName = input; break;

        case AddFriendMethod.Email:
            request.FriendEmail = input; break;

        case AddFriendMethod.Username:
            request.FriendUsername = input; break;

        case AddFriendMethod.PlayFabID:
            request.FriendPlayFabId = input; break;
        }

        DialogCanvasController.RequestLoadingPrompt(PlayFabAPIMethods.AddFriend);
        PlayFabClientAPI.AddFriend(request, result =>
        {
            if (callback != null)
            {
                callback(result.Created);
            }
            PF_Bridge.RaiseCallbackSuccess(string.Empty, PlayFabAPIMethods.AddFriend, MessageDisplayStyle.none);
        }, PF_Bridge.PlayFabErrorCallback);
    }
    public void CategoryFilterClicked()
    {
        UnityAction <int> afterSelect = (int response) =>
        {
            if (response == 0)             // stand alone
            {
                CategoryFilter.GetComponentInChildren <Text>().text = "Standalone";
                this.ActiveOptions = this.StandAloneStatistics;

                this.QuestContainer.gameObject.SetActive(false);
                this.StatsContainer.anchoredPosition = new Vector2(this.QuestContainer.anchoredPosition.x + 5, this.QuestContainer.anchoredPosition.y);
            }
            else if (response == 1)             // per quest
            {
                CategoryFilter.GetComponentInChildren <Text>().text = "Per Quest";
                this.ActiveOptions = this.QuestStatistics;

                this.StatsContainer.anchoredPosition = new Vector2(this.StatsContainer.anchoredPosition.x + this.StatsContainer.rect.width, this.StatsContainer.anchoredPosition.y);
                this.QuestContainer.gameObject.SetActive(true);
            }
        };

        List <string> categories = new List <string>()
        {
            "Standalone", "Per Quest"
        };

        DialogCanvasController.RequestSelectorPrompt(GlobalStrings.CATEGORY_SELECTOR_PROMPT, categories, afterSelect);
    }
    /// <summary>
    /// Login with PlayFab username.
    /// </summary>
    /// <param name="user">Username to use</param>
    /// <param name="pass">Password to use</param>
    public static void LoginWithUsername(string user, string password)
    {
        if (user.Length > 0 && password.Length > 0)
        {
            //LoginMethodUsed = LoginPathways.pf_username;
            LoginWithPlayFabRequest request = new LoginWithPlayFabRequest();
            request.Username = user;
            request.Password = password;
            request.TitleId  = PlayFabSettings.TitleId;

            //			if(!string.IsNullOrEmpty(PlayFabLoginCalls.publisher_id))
            //			{
            //				request.PublisherId = PlayFabLoginCalls.publisher_id;
            //			}
            DialogCanvasController.RequestLoadingPrompt(PlayFabAPIMethods.GenericLogin);
            PlayFabClientAPI.LoginWithPlayFab(request, OnLoginResult, OnLoginError);
        }
        else
        {
            if (OnLoginFail != null)
            {
                OnLoginFail("User Name and Password cannot be blank.", MessageDisplayStyle.error);
            }
        }
    }
    /// <summary>
    /// Login using the email associated with a PlayFab account.
    /// </summary>
    /// <param name="user">User.</param>
    /// <param name="password">Password.</param>
    public static void LoginWithEmail(string user, string password)
    {
        if (user.Length > 0 && password.Length > 0 && ValidateEmail(user))
        {
            //LoginMethodUsed = LoginPathways.pf_email;
            LoginWithEmailAddressRequest request = new LoginWithEmailAddressRequest();
            request.Email    = user;
            request.Password = password;
            request.TitleId  = PlayFabSettings.TitleId;

            //			if(!string.IsNullOrEmpty(PlayFabLoginCalls.publisher_id))
            //			{
            //				request.PublisherId = PlayFabLoginCalls.publisher_id;
            //			}
            DialogCanvasController.RequestLoadingPrompt(PlayFabAPIMethods.GenericLogin);
            PlayFabClientAPI.LoginWithEmailAddress(request, OnLoginResult, OnLoginError);
        }
        else
        {
            if (OnLoginFail != null)
            {
                OnLoginFail("Username or Password is invalid. Check credentails and try again", MessageDisplayStyle.error);
            }
        }
    }
Exemple #9
0
    public static void GetEncounterLists(List <string> encounters)
    {
        var request = new GetTitleDataRequest {
            Keys = encounters
        };
        var JsonUtil = PluginManager.GetPlugin <ISerializerPlugin>(PluginContract.PlayFab_Serializer);

        DialogCanvasController.RequestLoadingPrompt(PlayFabAPIMethods.GetTitleData_Specific);
        PlayFabClientAPI.GetTitleData(request, result =>
        {
            // Clear encounters for now (until we have reasons to merge dicts);
            PF_GamePlay.ClearQuestProgress();
            Encounters.Clear();

            foreach (var item in encounters)
            {
                if (result.Data.ContainsKey(item))
                {
                    Encounters.Add(item, JsonUtil.DeserializeObject <Dictionary <string, UB_EncounterData> >(result.Data[item]));
                }
            }

            PF_Bridge.RaiseCallbackSuccess("Encounters Loaded!", PlayFabAPIMethods.GetTitleData_Specific, MessageDisplayStyle.none);
        }, PF_Bridge.PlayFabErrorCallback);
    }
Exemple #10
0
    public static void BuildCDNRequests()
    {
        List <AssetBundleHelperObject> requests = new List <AssetBundleHelperObject>();
        var mime      = "application/x-gzip";
        var keyPrefix = string.Empty;

        if (Application.platform == RuntimePlatform.Android)
        {
            keyPrefix = "Android/";
        }
        else if (Application.platform == RuntimePlatform.IPhonePlayer)
        {
            keyPrefix = "iOS/";
        }

        foreach (var ev in Events)
        {
            if (IsEventActive(ev.Key) == PromotionType.Active && !string.IsNullOrEmpty(ev.Value.BundleId))
            {
                requests.Add(new AssetBundleHelperObject
                {
                    MimeType   = mime,
                    ContentKey = keyPrefix + ev.Value.BundleId,
                    FileName   = ev.Key,
                    Unpacked   = new UB_UnpackedAssetBundle()
                });
            }
        }

        GameController.Instance.cdnController.assets = requests;

        UnityAction <bool> afterCdnRequest = response =>
        {
            if (response)
            {
                PF_Bridge.RaiseCallbackSuccess(string.Empty, PlayFabAPIMethods.GetCDNConent, MessageDisplayStyle.none);
                Debug.Log("CDN Retrieved!");
            }

            PromoAssets.Clear();
            foreach (var obj in requests)
            {
                if (obj.IsUnpacked)
                {
                    PromoAssets.Add(obj.Unpacked);
                }
            }
            GameController.Instance.cdnController.isInitalContentUnpacked = true;
        };

        if (GameController.Instance.cdnController.isInitalContentUnpacked == false && GameController.Instance.cdnController.useCDN)
        {
            DialogCanvasController.RequestLoadingPrompt(PlayFabAPIMethods.GetCDNConent);
            GameController.Instance.cdnController.KickOffCDNGet(requests, afterCdnRequest);
        }
        else
        {
            GameController.Instance.cdnController.KickOffStreamingAssetsGet(requests, afterCdnRequest);
        }
    }
    public static void UpdateCharacterStatistics(string characterId, Dictionary <string, int> updates)
    {
        Dictionary <string, int> activeStats;

        if (!characterStatistics.TryGetValue(characterId, out activeStats))
        {
            return;
        }
        ;

        foreach (var each in updates)
        {
            int temp;
            activeStats.TryGetValue(each.Key, out temp);
            activeStats[each.Key] = temp + each.Value;
        }

        DialogCanvasController.RequestLoadingPrompt(PlayFabAPIMethods.UpdateCharacterStatistics);

        var request = new ExecuteCloudScriptRequest
        {
            FunctionName            = "SetCharacterStats",
            FunctionParameter       = new { characterId = characterId, statistics = activeStats },
            GeneratePlayStreamEvent = true
        };

        PlayFabClientAPI.ExecuteCloudScript(request, OnUpdateCharacterStatisticsSuccess, PF_Bridge.PlayFabErrorCallback);
    }
Exemple #12
0
    /// <summary>
    /// Starts the buy store item.
    /// </summary>
    /// <param name="item">Item.</param>
    /// <param name="storeID">Store I.</param>
    public static void StartBuyStoreItem(CatalogItem item, string storeID)
    {
        if (item.VirtualCurrencyPrices.ContainsKey("RM"))
        {
            PF_Bridge.IAB_CurrencyCode = "US";
            PF_Bridge.IAB_Price        = (int)item.VirtualCurrencyPrices["RM"];

            MakeRmPurchase(item.ItemId);
            return;
        }

        var vcKvp = item.VirtualCurrencyPrices.First();

        // normal purchase item flow
        var request = new PurchaseItemRequest();

        request.ItemId          = item.ItemId;
        request.VirtualCurrency = vcKvp.Key;
        request.Price           = (int)vcKvp.Value;
        request.StoreId         = storeID;
        if (PF_PlayerData.activeCharacter != null)
        {
            request.CharacterId = PF_PlayerData.activeCharacter.characterDetails.CharacterId;
        }

        DialogCanvasController.RequestLoadingPrompt(PlayFabAPIMethods.MakePurchase);
        PlayFabClientAPI.PurchaseItem(request, OnBuyStoreItemSuccess, PF_Bridge.PlayFabErrorCallback);
    }
    public void HandleCallbackSuccess(string details, PlayFabAPIMethods method, MessageDisplayStyle style)
    {
        switch (method)
        {
        case PlayFabAPIMethods.MakePurchase:
            // refresh after purchase.
            if (PF_PlayerData.activeCharacter == null)
            {
                PF_PlayerData.GetUserAccountInfo();
            }
            else
            {
                PF_PlayerData.GetCharacterInventory(PF_PlayerData.activeCharacter.characterDetails.CharacterId);
            }
            break;

        case PlayFabAPIMethods.GetCharacterInventory:
            DialogCanvasController.RequestStore(this.StoreName.text);
            break;

        case PlayFabAPIMethods.GetAccountInfo:
            DialogCanvasController.RequestStore(this.StoreName.text);
            break;
        }
    }
    void OnLevelWasLoaded(int index)
    {
        if (sceneController != null)
        {
            string levelName = SceneManager.GetActiveScene().name;
            //Debug.Log ("GAME CONTROLLER ON LEVEL LOADED: " +  Application.loadedLevelName);

            if (levelName.Contains("Authenticate") && (sceneController.previousScene != SceneController.GameScenes.Null || sceneController.previousScene != SceneController.GameScenes.Splash))
            {
                //Debug.Log("MADE IT THROUGH THE IF STATEMENT");
                DialogCanvasController.RequestInterstitial();
            }
            else if (levelName.Contains("CharacterSelect"))
            {
                DialogCanvasController.RequestInterstitial();
                CharacterSelectDataRefresh();
            }
            else if (levelName.Contains("Profile"))
            {
                CharacterProfileDataRefresh();
            }
            else if (levelName.Contains("Gameplay"))
            {
                DialogCanvasController.RequestInterstitial();
            }
        }
    }
    public static void LinkFaceBookToPlayFab()
    {
        DialogCanvasController.RequestLoadingPrompt(PlayFabAPIMethods.LinkFacebookId);
        var request = new LinkFacebookAccountRequest {
            AccessToken = AccessToken.CurrentAccessToken.TokenString
        };

        PlayFabClientAPI.LinkFacebookAccount(request, OnLinkSuccess, error =>
        {
            if (!error.ErrorMessage.Contains("already linked")) // ew, gotta get better error codes
            {
                PF_Bridge.RaiseCallbackError(error.ErrorMessage, PlayFabAPIMethods.LinkFacebookId, MessageDisplayStyle.error);
                return;
            }

            PF_Bridge.RaiseCallbackSuccess(string.Empty, PlayFabAPIMethods.LinkFacebookId, MessageDisplayStyle.none);
            Action <bool> afterConfirm = (bool response) =>
            {
                if (!response)
                {
                    return;
                }

                DialogCanvasController.RequestLoadingPrompt(PlayFabAPIMethods.LinkFacebookId);
                request.ForceLink = true;
                PlayFabClientAPI.LinkFacebookAccount(request, OnLinkSuccess, PF_Bridge.PlayFabErrorCallback);
            };

            DialogCanvasController.RequestConfirmationPrompt("Caution!", "Your current facebook account is already linked to another Unicorn Battle player. Do you want to force-bind your Facebook account to this player?", afterConfirm);
        });
    }
Exemple #16
0
    public static void RedeemItemOffer(CatalogItem offer, string instanceToRemove, UnityAction <string> callback = null, bool onlyRemoveInstance = false)
    {
        if (onlyRemoveInstance)
        {
            // this offer has already been rewarded, need to remove from the player's invenetory.
            var request = new ExecuteCloudScriptRequest();
            request.FunctionName      = "RemoveOfferItem";
            request.FunctionParameter = new { PFID = PlayerId, InstanceToRemove = instanceToRemove };

            DialogCanvasController.RequestLoadingPrompt(PlayFabAPIMethods.ConsumeOffer);
            PlayFabClientAPI.ExecuteCloudScript(request, result =>
            {
                if (!PF_Bridge.VerifyErrorFreeCloudScriptResult(result))
                {
                    return;
                }

                if (callback != null)
                {
                    callback(null);
                }
                PF_Bridge.RaiseCallbackSuccess(string.Empty, PlayFabAPIMethods.ConsumeOffer, MessageDisplayStyle.none);
            }, PF_Bridge.PlayFabErrorCallback);
        }
        else
        {
            // consume the item
            var removeReq = new ExecuteCloudScriptRequest
            {
                FunctionName      = "RemoveOfferItem",
                FunctionParameter = new { PFID = PlayerId, InstanceToRemove = instanceToRemove }
            };
            PlayFabClientAPI.ExecuteCloudScript(removeReq, result =>
            {
                PF_Bridge.VerifyErrorFreeCloudScriptResult(result);
            }, PF_Bridge.PlayFabErrorCallback);

            // make the award
            var awardRequest = new ExecuteCloudScriptRequest
            {
                FunctionName      = "RedeemItemOffer",
                FunctionParameter = new { PFID = PlayerId, Offer = offer, SingleUse = offer.Tags.IndexOf("SingleUse") > -1 ? true : false }
            };

            DialogCanvasController.RequestLoadingPrompt(PlayFabAPIMethods.ConsumeOffer);
            PlayFabClientAPI.ExecuteCloudScript(awardRequest, result =>
            {
                if (!PF_Bridge.VerifyErrorFreeCloudScriptResult(result))
                {
                    return;
                }
                if (callback != null)
                {
                    callback(result.FunctionResult.ToString());
                }
                PF_Bridge.RaiseCallbackSuccess(string.Empty, PlayFabAPIMethods.ConsumeOffer, MessageDisplayStyle.none);
            }, PF_Bridge.PlayFabErrorCallback);
        }
    }
 public void UnlockContainer()
 {
     DialogCanvasController.RequestItemViewer(new List <string>()
     {
         selectedItem.itemData.category.catalogRef.ItemId
     }, true);
     HideSelectedItem();
 }
Exemple #18
0
    public static void GetTitleData()
    {
        var request = new GetTitleDataRequest {
            Keys = GlobalStrings.InitTitleKeys
        };

        DialogCanvasController.RequestLoadingPrompt(PlayFabAPIMethods.GetTitleData);
        PlayFabClientAPI.GetTitleData(request, OnGetTitleDataSuccess, PF_Bridge.PlayFabErrorCallback);
    }
Exemple #19
0
    public static void CreateNewCharacter(string name, FG_ClassDetail details)
    {
        DialogCanvasController.RequestLoadingPrompt(PlayFabAPIMethods.GrantCharacterToUser);
        ExecuteCloudScriptRequest request = new ExecuteCloudScriptRequest();

        request.FunctionName      = "CreateCharacter";
        request.FunctionParameter = new { catalogCode = details.CatalogCode, characterName = name };
        PlayFabClientAPI.ExecuteCloudScript(request, OnCreateNewCharacterSuccess, PF_Bridge.PlayFabErrorCallback);
    }
Exemple #20
0
    public static void DrawCharactersToUser()
    {
        DialogCanvasController.RequestLoadingPrompt(PlayFabAPIMethods.DrawCharacterToUser);
        ExecuteCloudScriptRequest request = new ExecuteCloudScriptRequest();

        request.FunctionName      = "DrawCharacters";
        request.FunctionParameter = new { times = 2 };
        PlayFabClientAPI.ExecuteCloudScript(request, OnDrawCharactersSuccess, PF_Bridge.PlayFabErrorCallback);
    }
Exemple #21
0
    public static void GetOffersCatalog()
    {
        var request = new GetCatalogItemsRequest {
            CatalogVersion = "Offers"
        };

        DialogCanvasController.RequestLoadingPrompt(PlayFabAPIMethods.GetOffersCatalog);
        PlayFabClientAPI.GetCatalogItems(request, OnGetOffersCatalogSuccess, PF_Bridge.PlayFabErrorCallback);
    }
Exemple #22
0
    /// <summary>
    /// Retrives the quest items.
    /// </summary>
    public static void RetriveQuestItems()
    {
        DialogCanvasController.RequestLoadingPrompt(PlayFabAPIMethods.RetriveQuestItems);

        ExecuteCloudScriptRequest request = new ExecuteCloudScriptRequest();

        request.FunctionName      = "RetriveQuestItems";
        request.FunctionParameter = new { ItemIds = PF_GamePlay.QuestProgress.ItemsFound };
        PlayFabClientAPI.ExecuteCloudScript(request, OnRetriveQuestItemsSuccess, PF_Bridge.PlayFabErrorCallback);
    }
Exemple #23
0
    public static void GetTitleData()
    {
        // now get the rest of the title data -- these are stored in traditional title data
        var request = new GetTitleDataRequest {
            Keys = GlobalStrings.InitTitleKeys
        };

        DialogCanvasController.RequestLoadingPrompt(PlayFabAPIMethods.GetTitleData_General);
        PlayFabClientAPI.GetTitleData(request, OnGetTitleDataSuccess, PF_Bridge.PlayFabErrorCallback);
    }
Exemple #24
0
    public static void GetEventData()
    {
        // first get list of events --- these are stored in a special catalog
        var request = new GetCatalogItemsRequest {
            CatalogVersion = "Events"
        };

        DialogCanvasController.RequestLoadingPrompt(PlayFabAPIMethods.GetEvents);
        PlayFabClientAPI.GetCatalogItems(request, OnGetEventsSuccess, PF_Bridge.PlayFabErrorCallback);
    }
Exemple #25
0
    public void AfterUnlock(UnlockContainerItemResult result)
    {
        // unlocking a container will automatically add the returned items, this ensures that items are not added twice.
        PF_GamePlay.QuestProgress.ItemsFound.Remove(this.selectedItem.ItemId);

        // build our list for displaying the container results
        List <ContainerResultItem> items = new List <ContainerResultItem>();

        foreach (var award in result.GrantedItems)
        {
            string      awardIcon            = "Default";
            CatalogItem catItem              = PF_GameData.catalogItems.Find((i) => { return(i.ItemId == award.ItemId); });
            Dictionary <string, string> kvps = PlayFab.Json.JsonWrapper.DeserializeObject <Dictionary <string, string> >(catItem.CustomData);
            kvps.TryGetValue("icon", out awardIcon);

            items.Add(new ContainerResultItem()
            {
                displayIcon = GameController.Instance.iconManager.GetIconById(awardIcon),
                displayName = award.DisplayName
            });
        }

        if (result.VirtualCurrency != null)
        {
            foreach (var award in result.VirtualCurrency)
            {
                items.Add(new ContainerResultItem()
                {
                    displayIcon = GameController.Instance.iconManager.GetIconById(award.Key),
                    displayName = string.Format("{1} Award: {0}", award.Value, award.Key)
                });
            }
        }
        else
        {
            CatalogItem catRef = PF_GameData.catalogItems.Find((i) => { return(i.ItemId == this.selectedItem.ItemId); });
            if (catRef.Container.VirtualCurrencyContents.Count > 0)
            {
                foreach (var vc in catRef.Container.VirtualCurrencyContents)
                {
                    items.Add(new ContainerResultItem()
                    {
                        displayIcon = GameController.Instance.iconManager.GetIconById(vc.Key),
                        displayName = string.Format("{1} Award: {0}", vc.Value, vc.Key)
                    });
                }
            }
        }

        this.CurrentIcon.overrideSprite = GameController.Instance.iconManager.GetIconById(currentIconId + "_Open");
        this.openedBoxes.Add(this.selectedIndex, items);
        EnableUnlockedItemsView(items);

        DialogCanvasController.RequestInventoryPrompt();
    }
Exemple #26
0
    /// <summary>
    /// write back the quest progress to playfab
    /// </summary>
    public static void SavePlayerData()
    {
        DialogCanvasController.RequestLoadingPrompt(PlayFabAPIMethods.SavePlayerInfo);

        var request = new ExecuteCloudScriptRequest
        {
            FunctionName      = "SaveProgress",
            FunctionParameter = new { CurrentPlayerData = PF_PlayerData.activeCharacter, QuestProgress = QuestProgress, LevelRamp = PF_GameData.CharacterLevelRamp },
        };

        PlayFabClientAPI.ExecuteCloudScript(request, OnSavePlayerDataSuccess, PF_Bridge.PlayFabErrorCallback);
    }
Exemple #27
0
 /// <summary>
 /// Makes the RM purchase.
 /// </summary>
 /// <param name="itemId">Item identifier.</param>
 public static void MakeRmPurchase(string itemId)
 {
     if (Application.platform == RuntimePlatform.Android || Application.platform == RuntimePlatform.IPhonePlayer)
     {
         DialogCanvasController.RequestLoadingPrompt(PlayFabAPIMethods.MakePurchase);
         OnePF.OpenIAB.purchaseProduct(itemId);
     }
     else
     {
         PF_Bridge.RaiseCallbackError("Current plaform does not support IAP; cannot process transaction.", PlayFabAPIMethods.MakePurchase, MessageDisplayStyle.error);
     }
 }
    public void StatisticFilterClicked()
    {
        UnityAction <int> afterSelect = (int response) =>
        {
            this.StatisticFilter.GetComponentInChildren <Text>().text = this.PlayerLevelStats[response];
            UpdateFriendsLB(this.PlayerLevelStats[response]);
            UpdateTop10LB(this.PlayerLevelStats[response]);
            //UpdateMyRank(this.PlayerLevelStats[response]);
        };

        DialogCanvasController.RequestSelectorPrompt(GlobalStrings.STAT_SELECTOR_PROMPT, this.PlayerLevelStats, afterSelect);
    }
Exemple #29
0
    public void RedeemCoupon()
    {
        UnityAction <string> afterPrompt = (string response) =>
        {
            if (!string.IsNullOrEmpty(response))
            {
                PF_GamePlay.RedeemCoupon(response);
            }
        };

        DialogCanvasController.RequestTextInputPrompt("Redeem a Coupon Code", "Enter a valid code to redeem rewards.", (string response) => { afterPrompt(response); }, "XXX-XXXX-XXX");
    }
Exemple #30
0
    public static void GetUserAccountInfo()
    {
        var request = new GetPlayerCombinedInfoRequest
        {
            InfoRequestParameters = new GetPlayerCombinedInfoRequestParams {
                GetUserData = true, GetUserReadOnlyData = true, GetUserInventory = true, GetUserVirtualCurrency = true, GetUserAccountInfo = true, GetPlayerStatistics = true
            }
        };

        DialogCanvasController.RequestLoadingPrompt(PlayFabAPIMethods.GetAccountInfo);
        PlayFabClientAPI.GetPlayerCombinedInfo(request, OnGetUserAccountInfoSuccess, PF_Bridge.PlayFabErrorCallback);
    }