/// <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; } }