예제 #1
0
 public static AGSSubmitScoreResponse GetBlankResponseWithError(string error, string leaderboardId = "", int userData = 0)
 {
     AGSSubmitScoreResponse response = new AGSSubmitScoreResponse ();
     response.error = error;
     response.userData = userData;
     response.leaderboardId = leaderboardId;
     return response;
 }
예제 #2
0
    public static AGSSubmitScoreResponse GetBlankResponseWithError(string error, string leaderboardId = "", int userData = 0)
    {
        AGSSubmitScoreResponse response = new AGSSubmitScoreResponse();

        response.error         = error;
        response.userData      = userData;
        response.leaderboardId = leaderboardId;
        return(response);
    }
예제 #3
0
    private void OnSubmitScoreCompleted(AGSSubmitScoreResponse response)
    {
        Action <bool> callback = simpleCallbacks.ContainsKey(response.userData) ? simpleCallbacks[response.userData] : null;

        if (null != callback)
        {
            callback(!response.IsError());
        }
        simpleCallbacks.Remove(response.userData);
    }
예제 #4
0
    /// <summary>
    ///  callback method for native code to communicate events back to unity
    /// </summary>
    public static void SubmitScoreSucceeded(string json)
    {
        AGSSubmitScoreResponse response = AGSSubmitScoreResponse.FromJSON(json);

        if (!response.IsError() && SubmitScoreSucceededEvent != null)
        {
            SubmitScoreSucceededEvent(response.leaderboardId);
        }
        if (SubmitScoreCompleted != null)
        {
            SubmitScoreCompleted(response);
        }
    }
예제 #5
0
 public static AGSSubmitScoreResponse FromJSON(string json)
 {
     try {
         AGSSubmitScoreResponse response = new AGSSubmitScoreResponse();
         Hashtable hashtable             = json.hashtableFromJson();
         response.error         = hashtable.ContainsKey("error") ? hashtable ["error"].ToString() : "";
         response.userData      = hashtable.ContainsKey("userData") ? int.Parse(hashtable ["userData"].ToString()) : 0;
         response.leaderboardId = hashtable.ContainsKey("leaderboardId") ? hashtable ["leaderboardId"].ToString() : "";
         return(response);
     } catch (Exception e) {
         AGSClient.LogGameCircleError(e.ToString());
         return(GetBlankResponseWithError(JSON_PARSE_ERROR));
     }
 }
예제 #6
0
 public static AGSSubmitScoreResponse FromJSON(string json)
 {
     try {
         AGSSubmitScoreResponse response = new AGSSubmitScoreResponse ();
         Hashtable hashtable = json.hashtableFromJson();
         response.error = hashtable.ContainsKey("error") ? hashtable ["error"].ToString () : "";
         response.userData = hashtable.ContainsKey("userData") ? int.Parse(hashtable ["userData"].ToString ()) : 0;
         response.leaderboardId = hashtable.ContainsKey("leaderboardId") ? hashtable ["leaderboardId"].ToString() : "";
         return response;
     } catch (Exception e) {
         AGSClient.LogGameCircleError(e.ToString());
         return GetBlankResponseWithError(JSON_PARSE_ERROR);
     }
 }
예제 #7
0
    private void OnSubmitScoreCompleted(AGSSubmitScoreResponse response)
    {
        if (response.IsError())
        {
            AMN_SubmitLeaderboardResult result = new AMN_SubmitLeaderboardResult(response.leaderboardId, response.error);

            OnSubmitLeaderboardReceived(result);
        }
        else
        {
            AMN_SubmitLeaderboardResult result = new AMN_SubmitLeaderboardResult(response.leaderboardId);

            OnSubmitLeaderboardReceived(result);
        }
    }
예제 #8
0
    /// <summary>
    /// submit a score to leaderboard
    /// </summary>
    /// <remarks>
    /// SubmitScoreCompleted will be called if the event is registered.
    /// </remarks>
    /// <param name="leaderboardId">the id of the leaderboard for the score request</param>
    /// <param name="score">player score</param>
    /// <param name="userData">
    /// ANDROID ONLY
    /// An optional code that will be returned in the response. Used to associate a function call to its response.
    /// A value of 0 is not recommended because 0 is the value returned when userData is not specified.
    /// </param>
    /// </remarks>
    public static void SubmitScore(string leaderboardId, long score, int userData = 0)
    {
#if UNITY_EDITOR && (UNITY_ANDROID || UNITY_IOS)
        // GameCircle only functions on device.
#elif UNITY_ANDROID
        JavaObject.Call("submitScore", leaderboardId, score, userData);
#else
        AGSSubmitScoreResponse response = AGSSubmitScoreResponse.GetPlatformNotSupportedResponse(leaderboardId, userData);
        if (SubmitScoreFailedEvent != null)
        {
            SubmitScoreFailedEvent(response.leaderboardId, response.error);
        }
        if (SubmitScoreCompleted != null)
        {
            SubmitScoreCompleted(response);
        }
#endif
    }
 private void OnSubmitScoreCompleted( AGSSubmitScoreResponse response )
 {
     if (response.IsError ()) {
         // Update the leaderboard submission status message to show this error.
         leaderboardsSubmissionStatus[response.leaderboardId] = string.Format(leaderboardFailed, response.leaderboardId);
         leaderboardsSubmissionStatusMessage[response.leaderboardId] = response.error;
     } else {
         // Update the leaderboard submission status message to show this has succeeded.
         leaderboardsSubmissionStatus[response.leaderboardId] = string.Format(leaderboardSucceeded, response.leaderboardId);
     }
 }
예제 #10
0
 private void OnSubmitScoreCompleted(AGSSubmitScoreResponse response)
 {
     Action<bool> callback = simpleCallbacks.ContainsKey(response.userData) ? simpleCallbacks[response.userData] : null;
     if (null != callback) {
         callback(!response.IsError());
     }
     simpleCallbacks.Remove (response.userData);
 }