Exemplo n.º 1
0
 private void OnGlobalPlayFabResultHandler(PlayFabRequestCommon request, PlayFabResultCommon result)
 {
     if (result is LoginResult loginResult)
     {
         var payload = loginResult.InfoResultPayload;
         this.UpdateVirtualCurrencies(payload?.UserVirtualCurrency, payload?.UserVirtualCurrencyRechargeTimes);
     }
     else if (result is GetUserInventoryResult getUserInventoryResult)
     {
         this.UpdateVirtualCurrencies(getUserInventoryResult?.VirtualCurrency, getUserInventoryResult?.VirtualCurrencyRechargeTimes);
     }
     else if (result is GetPlayerCombinedInfoResult getPlayerCombinedInfoResult)
     {
         var payload = getPlayerCombinedInfoResult.InfoResultPayload;
         this.UpdateVirtualCurrencies(payload?.UserVirtualCurrency, payload?.UserVirtualCurrencyRechargeTimes);
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// Callback from PlayFab when the receipt validation has been successful.
        /// Products will be granted and transactions confirmed.
        /// </summary>
        public void OnValidationResult(PlayFabResultCommon result)
        {
            Product p = IAPManager.controller.products.WithStoreSpecificID(result.CustomData as string);

            if (p == null)
            {
                return;
            }
            IAPManager.controller.ConfirmPendingPurchase(p);

            //successful response, verified transaction
            if (IAPManager.isDebug)
            {
                Debug.Log(p.definition.storeSpecificId + " verification success.");
            }
            IAPManager.GetInstance().PurchaseVerified(p.definition.id);
        }
Exemplo n.º 3
0
 private void OnSuccess(PlayFabResultCommon result)
 {
 }
Exemplo n.º 4
0
 private static void SuccessCallback_Global(string urlPath, int callId, object request, PlayFabResultCommon result, PlayFabError error, object customData)
 {
     callbacks.Add("SuccessCallback_Global");
     throw new Exception("Non-PlayFab callback error");
 }
Exemplo n.º 5
0
 private static PlayFabSettings.ResponseCallback<object, PlayFabResultCommon> _onApiResponseStLogin2 = OnApiResponse_StLogin2; // Static methods can be cast once and saved as a static variable
 private static void OnApiResponse_StLogin2(string url, int callId, object request, PlayFabResultCommon result, PlayFabError error, object customData)
 {
     var delta = DateTime.UtcNow - CallTimes_StLogin[callId];
     Debug.Log(url + " completed in " + delta.TotalMilliseconds + " - _StLogin");
     CallTimes_StLogin.Remove(callId);
 }
Exemplo n.º 6
0
        private void OnApiResponse_InstLogin2(string url, int callId, object request, PlayFabResultCommon result, PlayFabError error, object customData)
        {
            var delta = DateTime.UtcNow - CallTimes_InstLogin[callId];

            Debug.Log(url + " completed in " + delta.TotalMilliseconds + " - _InstLogin");
            CallTimes_InstLogin.Remove(callId);
        }
Exemplo n.º 7
0
        /// <summary>
        /// Gets the contents and information of a specific Cloud Script revision.
        /// </summary>
        public static void GetCloudScriptRevision(GetCloudScriptRevisionRequest request, PlayFabResultCommon.ProcessApiCallback<GetCloudScriptRevisionResult> resultCallback, ErrorCallback errorCallback, object customData = null)
        {
            if (PlayFabSettings.DeveloperSecretKey == null) throw new Exception("Must have PlayFabSettings.DeveloperSecretKey set to call this method");

            string serializedJson = JsonWrapper.SerializeObject(request, PlayFabUtil.ApiSerializerStrategy);
            Action<CallRequestContainer> callback = delegate(CallRequestContainer requestContainer)
            {
                ResultContainer<GetCloudScriptRevisionResult>.HandleResults(requestContainer, resultCallback, errorCallback, null);
            };
            PlayFabHttp.Post("/Admin/GetCloudScriptRevision", serializedJson, "X-SecretKey", PlayFabSettings.DeveloperSecretKey, callback, request, customData);
        }
Exemplo n.º 8
0
        /// <summary>
        /// Retrieves a list of ranked users for the given statistic, centered on the requested player. If PlayFabId is empty or null will return currently logged in user.
        /// </summary>
        public static void GetLeaderboardAroundPlayer(GetLeaderboardAroundPlayerRequest request, PlayFabResultCommon.ProcessApiCallback<GetLeaderboardAroundPlayerResult> resultCallback, ErrorCallback errorCallback, object customData = null)
        {
            if (_authKey == null) throw new Exception("Must be logged in to call this method");

            string serializedJson = JsonWrapper.SerializeObject(request, PlayFabUtil.ApiSerializerStrategy);
            Action<CallRequestContainer> callback = delegate(CallRequestContainer requestContainer)
            {
                ResultContainer<GetLeaderboardAroundPlayerResult>.HandleResults(requestContainer, resultCallback, errorCallback, null);
            };
            PlayFabHttp.Post("/Client/GetLeaderboardAroundPlayer", serializedJson, "X-Authorization", _authKey, callback, request, customData);
        }
Exemplo n.º 9
0
 /// <summary>
 /// Forces an email to be sent to the registered email address for the user's account, with a link allowing the user to change the password
 /// </summary>
 public static void SendAccountRecoveryEmail(SendAccountRecoveryEmailRequest request, PlayFabResultCommon.ProcessApiCallback<SendAccountRecoveryEmailResult> resultCallback, ErrorCallback errorCallback, object customData = null)
 {
     
     string serializedJson = JsonWrapper.SerializeObject(request, PlayFabUtil.ApiSerializerStrategy);
     Action<CallRequestContainer> callback = delegate(CallRequestContainer requestContainer)
     {
         ResultContainer<SendAccountRecoveryEmailResult>.HandleResults(requestContainer, resultCallback, errorCallback, null);
     };
     PlayFabHttp.Post("/Client/SendAccountRecoveryEmail", serializedJson, null, null, callback, request, customData);
 }
Exemplo n.º 10
0
        /// <summary>
        /// Registers a new Playfab user account, returning a session identifier that can subsequently be used for API calls which require an authenticated user. You must supply either a username or an email address.
        /// </summary>
        public static void RegisterPlayFabUser(RegisterPlayFabUserRequest request, PlayFabResultCommon.ProcessApiCallback<RegisterPlayFabUserResult> resultCallback, ErrorCallback errorCallback, object customData = null)
        {
            request.TitleId = request.TitleId ?? PlayFabSettings.TitleId;
            if (request.TitleId == null) throw new Exception("Must be have PlayFabSettings.TitleId set to call this method");

            string serializedJson = JsonWrapper.SerializeObject(request, PlayFabUtil.ApiSerializerStrategy);
            Action<CallRequestContainer> callback = delegate(CallRequestContainer requestContainer)
            {
                ResultContainer<RegisterPlayFabUserResult>.HandleResults(requestContainer, resultCallback, errorCallback, RegisterPlayFabUserResultAction);
            };
            PlayFabHttp.Post("/Client/RegisterPlayFabUser", serializedJson, null, null, callback, request, customData);
        }
Exemplo n.º 11
0
        /// <summary>
        /// Writes a character-based event into PlayStream.
        /// </summary>
        public static void WriteCharacterEvent(WriteClientCharacterEventRequest request, PlayFabResultCommon.ProcessApiCallback<WriteEventResponse> resultCallback, ErrorCallback errorCallback, object customData = null)
        {
            if (_authKey == null) throw new Exception("Must be logged in to call this method");

            string serializedJson = JsonWrapper.SerializeObject(request, PlayFabUtil.ApiSerializerStrategy);
            Action<CallRequestContainer> callback = delegate(CallRequestContainer requestContainer)
            {
                ResultContainer<WriteEventResponse>.HandleResults(requestContainer, resultCallback, errorCallback, null);
            };
            PlayFabHttp.Post("/Client/WriteCharacterEvent", serializedJson, "X-Authorization", _authKey, callback, request, customData);
        }