     
     
     /**
-    Load GKachievement in cache
+        Get GKAchievementDescription
     
     :param: completion load is ok
+    */
+    /**
+    Get GKAchievementDescription
+    
+    :param: completion return array [GKAchievementDescription] or nil
+    
+    Example:
+        for achievement in arrayGKAchievementDescription  {
+            if let oneAchievementDes = achievement as? GKAchievementDescription {
+    
+            }
+        }
     */
     private func getGKAchievementDescription(#completion: ((result:[GKAchievementDescription]?) -> Void)){
         if EasyGameCenter.isConnectedToNetwork() && EasyGameCenter.isPlayerIdentifiedToGameCenter() {

        }
    }
    /**
    Show banner game center
    
    :param: title       title
    :param: description description
    :param: completion  if show message is showing
    */
    class func showBannerWithTitle(#title:String, description:String,completion: ((isShow:Bool) -> Void)?) {
        GKNotificationBanner.showBannerWithTitle(title, message: description, completionHandler: { () -> Void in
            if completion != nil { completion!(isShow:true) }
        })
    }
    /**
    Remove One Achievements
    
    :param: Achievement Identifier String
    */
    class func resetOneAchievement(#achievementIdentifier :String) {
        
        if let achievement = EasyGameCenter.achievementForIndetifier(identifierAchievement: achievementIdentifier) {
            GKAchievement.resetAchievementsWithCompletionHandler({ (var error:NSError!) ->
                Void in
                
                if error != nil {
                    println("Couldn't Reset achievement (\(achievementIdentifier))")
                    
                } else {
                    
                    achievement.percentComplete = 0
                    achievement.showsCompletionBanner = false
                    println("Reset achievement (\(achievementIdentifier))")
                }
                
            })
        }
    }
    
    /**
    Remove All Achievements
    */
    class func resetAllAchievements() {
        let gameCenter = EasyGameCenter.Static.instance!
        
        for lookupAchievement in gameCenter.achievementsCache {
            
            var achievementID = lookupAchievement.0
            EasyGameCenter.resetOneAchievement(achievementIdentifier: achievementID)
            
        }
    }
    /**
    Get SKScore
    
    :param: Leaderboard Identifier
    
    :returns: return GKScore

    class func getScoreLeaderboard(#leaderboardIdentifier:String) -> GKScore? {
        
        if EasyGameCenter.getStateGameCenter() == .PlayerIdentified  {
            let gameCenter = EasyGameCenter.sharedInstance
            if let scoreLeaderboard = gameCenter.scoresleaderBoard[leaderboardIdentifier] as GKScore? {
                return scoreLeaderboard
            }
        }
        return nil
    }  */
    /**
    CheckUp Connection the new
    
    :returns: Bool Connection Validation
    */
    class func isConnectedToNetwork() -> Bool {
        

        
        return (isReachable && !needsConnection) ? true : false
    }
    /*_______________________________ Internal Delagate _______________________________________________*/
    /**
        Dismiss Game Center when player open
        :param: GKGameCenterViewController
    
        Override of GKGameCenterControllerDelegate
    */
    internal func gameCenterViewControllerDidFinish(gameCenterViewController: GKGameCenterViewController!) {
        gameCenterViewController.dismissViewControllerAnimated(true, completion: nil)
    }
}