internal BeatSaver_DifficultyBeatmap(BeatSaver_DifficultyBeatmapSet p_Parent, BeatSaver_CustomBeatmapLevel p_BSBeatmapLevel, BeatmapCharacteristicSO p_CharacteristicSO, BeatmapDifficulty p_Difficulty, BeatmapCharacteristicDifficulty p_CharacteristicDifficulty) { level = p_BSBeatmapLevel; parentDifficultyBeatmapSet = p_Parent; difficulty = p_Difficulty; noteJumpMovementSpeed = p_CharacteristicDifficulty.NoteJumpSpeed; noteJumpStartBeatOffset = p_CharacteristicDifficulty.NoteJumpSpeedOffset; beatmapData = new BeatmapData(4); /// From DefaultRating switch (p_Difficulty) { case BeatmapDifficulty.Easy: difficultyRank = 1; break; case BeatmapDifficulty.Normal: difficultyRank = 3; break; case BeatmapDifficulty.Hard: difficultyRank = 5; break; case BeatmapDifficulty.Expert: difficultyRank = 7; break; case BeatmapDifficulty.ExpertPlus: difficultyRank = 9; break; } for (int l_I = 0; l_I < p_CharacteristicDifficulty.Notes; ++l_I) { beatmapData.AddBeatmapObjectData(NoteData.CreateBasicNoteData(0f, 0, NoteLineLayer.Base, ColorType.ColorA, NoteCutDirection.Any)); } }
internal BeatSaver_CustomBeatmapLevel(Beatmap p_BeatMap, CustomPreviewBeatmapLevel customPreviewBeatmapLevel, AudioClip previewAudioClip) : base(customPreviewBeatmapLevel, previewAudioClip) { List <IDifficultyBeatmapSet> l_IDifficultyBeatmapSet = new List <IDifficultyBeatmapSet>(); foreach (var l_Current in p_BeatMap.Metadata.Characteristics) { if (l_Current.Difficulties.Count == 0) { continue; } var l_Entry = new BeatSaver_DifficultyBeatmapSet( this, SongCore.Loader.beatmapCharacteristicCollection.GetBeatmapCharacteristicBySerializedName(l_Current.Name), l_Current ); l_IDifficultyBeatmapSet.Add(l_Entry); } SetBeatmapLevelData(new BeatmapLevelData(null, l_IDifficultyBeatmapSet.ToArray())); }