internal void ToggleSelectedDifficultyHighlight() { if (selectedPlaylistSong != null) { List <SegmentedControlCell> difficultyCells = Accessors.SegmentedControllerCellsAccessor(ref beatmapDifficultySegmentedControl); if (IsSelectedDifficultyHighlighted) { selectedPlaylistSong.Difficulties.RemoveAll(d => d.BeatmapDifficulty == beatmapDifficultySegmentedControlController.selectedDifficulty); SegmentedControlCell cellToUnhighlight = difficultyCells[beatmapDifficultySegmentedControlController.GetClosestDifficultyIndex(beatmapDifficultySegmentedControlController.selectedDifficulty)]; CurvedTextMeshPro textToUnhighlight = cellToUnhighlight.GetComponentInChildren <CurvedTextMeshPro>(); textToUnhighlight.faceColor = new UnityEngine.Color32(255, 255, 255, 255); } else { if (selectedPlaylistSong.Difficulties == null) { selectedPlaylistSong.Difficulties = new List <Difficulty>(); } Difficulty difficulty = new Difficulty(); difficulty.BeatmapDifficulty = beatmapDifficultySegmentedControlController.selectedDifficulty; difficulty.Characteristic = beatmapCharacteristicSegmentedControlController.selectedBeatmapCharacteristic.serializedName; selectedPlaylistSong.AddDifficulty(difficulty); SegmentedControlCell cellToHighlight = difficultyCells[beatmapDifficultySegmentedControlController.GetClosestDifficultyIndex(beatmapDifficultySegmentedControlController.selectedDifficulty)]; CurvedTextMeshPro textToHighlight = cellToHighlight.GetComponentInChildren <CurvedTextMeshPro>(); textToHighlight.faceColor = new UnityEngine.Color32(255, 255, 0, 255); } } }
private void HighlightDifficultiesForSelectedCharacteristic() { if (selectedPlaylistSong != null && selectedPlaylistSong.Difficulties != null && selectedPlaylistSong.Difficulties.Count != 0) { List <Difficulty> difficultiesToHighlight = selectedPlaylistSong.Difficulties.FindAll(difficulty => difficulty.Characteristic.ToUpper() == beatmapCharacteristicSegmentedControlController.selectedBeatmapCharacteristic.serializedName.ToUpper()); List <BeatmapDifficulty> availaibleDifficulties = Accessors.DifficultiesAccessor(ref beatmapDifficultySegmentedControlController); List <SegmentedControlCell> difficultyCells = Accessors.SegmentedControllerCellsAccessor(ref beatmapDifficultySegmentedControl); foreach (var difficulty in difficultiesToHighlight) { if (availaibleDifficulties.Contains(difficulty.BeatmapDifficulty)) { SegmentedControlCell cellToHighlight = difficultyCells[beatmapDifficultySegmentedControlController.GetClosestDifficultyIndex(difficulty.BeatmapDifficulty)]; CurvedTextMeshPro textToHighlight = cellToHighlight.GetComponentInChildren <CurvedTextMeshPro>(); textToHighlight.faceColor = new UnityEngine.Color32(255, 255, 0, 255); } } } }