Esempio n. 1
0
        private static void ProcessEarnedAchievements(IAsyncResult result)
        {
            EarnedAchievementsData earnedAchievementsData = (EarnedAchievementsData)result.AsyncState;
            BitArray bitArray = new BitArray(39);

            try
            {
                AchievementCollection achievementCollection = earnedAchievementsData.Gamer.EndGetAchievements(result);
                Type typeFromHandle = typeof(Achievement);
                foreach (Microsoft.Xna.Framework.GamerServices.Achievement item in achievementCollection)
                {
                    int num = -1;
                    try
                    {
                        num = (int)Enum.Parse(typeFromHandle, item.Key, ignoreCase: false);
                    }
                    catch (ArgumentException)
                    {
                        continue;
                    }
                    bitArray.Set(num, item.IsEarned);
                }
            }
            catch
            {
            }
            earnedAchievementsData.Callback(bitArray);
        }
Esempio n. 2
0
        public void GetEarnedAchievements(SignedInGamer gamer, EarnedAchievementsCallback callback)
        {
            EarnedAchievementsData earnedAchievementsData = new EarnedAchievementsData();

            earnedAchievementsData.Callback = callback;
            earnedAchievementsData.Gamer    = gamer;
            EarnedAchievementsData asyncState = earnedAchievementsData;

            gamer.BeginGetAchievements(ProcessEarnedAchievements, asyncState);
        }