Example #1
0
 private void OnRequestAchievementsCompleted(AGSRequestAchievementsResponse response)
 {
     if (loadAchievementDescriptionsCallbacks.ContainsKey(response.userData))
     {
         Action <IAchievementDescription[]> callback = loadAchievementDescriptionsCallbacks.ContainsKey(response.userData) ? loadAchievementDescriptionsCallbacks[response.userData] : null;
         if (callback != null)
         {
             AGSSocialAchievement[] descriptions = new AGSSocialAchievement[response.achievements.Count];
             for (int i = 0; i < response.achievements.Count; i++)
             {
                 descriptions[i] = new AGSSocialAchievement(response.achievements[i]);
             }
             callback(descriptions);
         }
     }
     if (loadAchievementsCallbacks.ContainsKey(response.userData))
     {
         Action <IAchievement[]> callback = loadAchievementsCallbacks.ContainsKey(response.userData) ? loadAchievementsCallbacks[response.userData] : null;
         if (callback != null)
         {
             AGSSocialAchievement[] descriptions = new AGSSocialAchievement[response.achievements.Count];
             for (int i = 0; i < response.achievements.Count; i++)
             {
                 descriptions[i] = new AGSSocialAchievement(response.achievements[i]);
             }
             callback(descriptions);
         }
     }
     loadAchievementDescriptionsCallbacks.Remove(response.userData);
 }
Example #2
0
        private void OnRequestAchievementsCompleted(AGSRequestAchievementsResponse response)
        {
            if (loadAchievementDescriptionsCallbacks.ContainsKey(response.userData))
            {
                var callback = loadAchievementDescriptionsCallbacks[response.userData];
                if (callback != null)
                {
                    var descriptions = new IAchievementDescription[response.achievements.Count];
                    for (var i = 0; i < response.achievements.Count; i++)
                    {
                        descriptions[i] = new AGSSocialAchievement(response.achievements[i]);
                    }

                    callback(descriptions);
                }

                loadAchievementDescriptionsCallbacks.Remove(response.userData);
            }
            else if (loadAchievementsCallbacks.ContainsKey(response.userData))
            {
                var callback = loadAchievementsCallbacks[response.userData];
                if (callback != null)
                {
                    var achievements = new IAchievement[response.achievements.Count];
                    for (var i = 0; i < response.achievements.Count; i++)
                    {
                        achievements[i] = new AGSSocialAchievement(response.achievements[i]);
                    }

                    callback(achievements);
                }

                loadAchievementsCallbacks.Remove(response.userData);
            }
        }
    /// <summary>
    /// Loads the achievements.
    /// </summary>
    /// <param name='callback'>
    /// Callback.
    /// </param>
    public void LoadAchievements(System.Action <IAchievement[]> callback)
    {
        // The callback argument should not be null for this function.
        if (null == callback)
        {
            AGSClient.LogGameCircleError("LoadAchievements \"callback\" argument should not be null");
            return;
        }

        // Transform the passed in callback action to the type of callback the GameCircle plugin expects.
        AGSAchievementsClient.RequestAchievementsFailedEvent    += (e) => { callback(null); };
        AGSAchievementsClient.RequestAchievementsSucceededEvent += (achievements) => {
            AGSSocialAchievement [] socialAchievements = new AGSSocialAchievement[achievements.Count];
            for (int achievementIndex = 0; achievementIndex < achievements.Count; achievementIndex++)
            {
                socialAchievements[achievementIndex] = new AGSSocialAchievement(achievements[achievementIndex]);
            }
            callback(socialAchievements);
        };
        AGSAchievementsClient.RequestAchievements();
    }
Example #4
0
 private void OnRequestAchievementsCompleted( AGSRequestAchievementsResponse response )
 {
     if (loadAchievementDescriptionsCallbacks.ContainsKey(response.userData)) {
         Action<IAchievementDescription[]> callback = loadAchievementDescriptionsCallbacks.ContainsKey (response.userData) ? loadAchievementDescriptionsCallbacks[response.userData] : null;
         if (callback != null) {
             AGSSocialAchievement[] descriptions = new AGSSocialAchievement[response.achievements.Count];
             for (int i = 0; i < response.achievements.Count; i++) {
                 descriptions[i] = new AGSSocialAchievement(response.achievements[i]);
             }
             callback(descriptions);
         }
     }
     if (loadAchievementsCallbacks.ContainsKey (response.userData)) {
         Action<IAchievement[]> callback = loadAchievementsCallbacks.ContainsKey(response.userData) ? loadAchievementsCallbacks[response.userData] : null;
         if (callback != null) {
             AGSSocialAchievement[] descriptions = new AGSSocialAchievement[response.achievements.Count];
             for (int i = 0; i < response.achievements.Count; i++) {
                 descriptions[i] = new AGSSocialAchievement(response.achievements[i]);
             }
             callback(descriptions);
         }
     }
     loadAchievementDescriptionsCallbacks.Remove (response.userData);
 }
    /// <summary>
    /// Loads the achievements.
    /// </summary>
    /// <param name='callback'>
    /// Callback.
    /// </param>
    public void LoadAchievements(System.Action<IAchievement[]> callback)
    {
        // The callback argument should not be null for this function.
        if(null == callback) {
            AGSClient.LogGameCircleError("LoadAchievements \"callback\" argument should not be null");
            return;
        }

        // Transform the passed in callback action to the type of callback the GameCircle plugin expects.
        AGSAchievementsClient.RequestAchievementsFailedEvent += (e) => { callback(null); };
        AGSAchievementsClient.RequestAchievementsSucceededEvent += (achievements) => {
            AGSSocialAchievement [] socialAchievements = new AGSSocialAchievement[achievements.Count];
            for(int achievementIndex = 0; achievementIndex < achievements.Count; achievementIndex++) {
                socialAchievements[achievementIndex] = new AGSSocialAchievement(achievements[achievementIndex]);
            }
            callback(socialAchievements);
        };
        AGSAchievementsClient.RequestAchievements();
    }