/// <summary>
 /// Deselect a level item.
 /// </summary>
 /// <param name="levelItemManager">Level item manager to deselect.</param>
 public void Deselect(LevelItemInfo levelItemManager)
 {
     if (levelItemManager.locked)
     {
         levelItemManager.levelLabel.gradientTop    = Configuration.instance.topUnselectedLockedColor;
         levelItemManager.levelLabel.gradientBottom = Configuration.instance.bottomUnselectedLockedColor;
     }
     else
     {
         Configuration.instance.SetSelectedLevel(null);
         levelItemManager.levelLabel.gradientTop    = Configuration.instance.topUnselectedColor;
         levelItemManager.levelLabel.gradientBottom = Configuration.instance.bottomUnselectedColor;
     }
 }
 /// <summary>
 /// Inits a level item.
 /// </summary>
 /// <param name="levelItemManager">Level item manager to init.</param>
 private void InitLevelItem(LevelItemInfo levelItemManager)
 {
     levelItemManager.lockedIcon.enabled = levelItemManager.locked;
     if (levelItemManager.locked)
     {
         levelItemManager.levelLabel.gradientTop    = Configuration.instance.topUnselectedLockedColor;
         levelItemManager.levelLabel.gradientBottom = Configuration.instance.bottomUnselectedLockedColor;
     }
     else
     {
         levelItemManager.levelLabel.gradientTop    = Configuration.instance.topUnselectedColor;
         levelItemManager.levelLabel.gradientBottom = Configuration.instance.bottomUnselectedColor;
     }
     if (levelItemManager.locked && levelItemManager.defaultLevel)
     {
         throw new UnityException("A locked level can't be the default level");
     }
 }
    /// <summary>
    /// Raises the click event.
    /// </summary>
    /// <param name="levelItem">Level item.</param>
    public void OnClick(GameObject levelItem)
    {
        LevelItemInfo selectedLevelItemInfo = null;

        foreach (LevelItemInfo levelItemManager in levelItemManagers)
        {
            if (levelItem.gameObject == levelItemManager.gameObject)
            {
                selectedLevelItemInfo = levelItemManager;
            }
            else
            {
                // Deselect all other level items
                Deselect(levelItemManager);
            }
        }
        if (selectedLevelItemInfo != null)
        {
            // Select the clicked level item
            Select(selectedLevelItemInfo);
            levelScreenshot.spriteName = selectedLevelItemInfo.levelName;
        }
    }