public AchievementCollection GetAchievements()
        {
            if (IsSignedInToLive)
            {
                if (gamerAchievements == null)
                {
                    gamerAchievements = new AchievementCollection();
                }

                GKAchievementDescription.LoadAchievementDescriptions(delegate(GKAchievementDescription[] achievements, NSError error)
                {
                    if (achievements != null)
                    {
                        foreach (GKAchievementDescription a in achievements)
                        {
                            gamerAchievements.Add(new Achievement()
                            {
                                Name                = a.Title,
                                Key                 = a.Identifier,
                                Description         = a.AchievedDescription,
                                HowToEarn           = a.UnachievedDescription,
                                DisplayBeforeEarned = !a.Hidden
                            });
                        }
                    }
                });

                GKAchievement.LoadAchievements(delegate(GKAchievement[] achievements, NSError error)
                {
                    if (achievements != null)
                    {
                        foreach (GKAchievement a in achievements)
                        {
                            foreach (Achievement ac in gamerAchievements)
                            {
                                if (ac.Key == a.Identifier)
                                {
                                    ac.IsEarned       = a.Completed;
                                    ac.EarnedDateTime = a.LastReportedDate.NSDateToDateTime();
                                }
                            }
                        }
                    }
                });
            }
            return(gamerAchievements);
        }
        public AchievementsScreen(CGSize size) : base(size)
        {
            var title = new SKLabelNode("GillSans-Bold")
            {
                Text     = "Achievements",
                FontSize = 30,
                Position = new CGPoint(FrameMidX, FrameMidY + 190)
            };

            backButton = new SKLabelNode("GillSans-Bold")
            {
                Text      = "Back",
                FontSize  = 18,
                FontColor = ButtonColor,
                Position  = new CGPoint(FrameMidX, FrameMidY - 200)
            };

            var incompleteLabel = new SKLabelNode("GillSans-Bold")
            {
                Text     = "Incomplete",
                FontSize = 18,
                Position = new CGPoint(FrameMidX + 75, FrameMidY + 150)
            };

            var completeLabel = new SKLabelNode("GillSans-Bold")
            {
                Text     = "Complete",
                FontSize = 18,
                Position = new CGPoint(FrameMidX - 75, FrameMidY + 150)
            };

            if (GKLocalPlayer.LocalPlayer.Authenticated)
            {
                GKAchievementDescription.LoadAchievementDescriptions(LoadAchievementInfo);
            }

            AddChild(title);
            AddChild(incompleteLabel);
            AddChild(completeLabel);
            AddChild(backButton);
        }