public bool IsRank(string levelID, BeatmapDifficulty beatmapDifficulty, BeatDataCharacteristics beatDataCharacteristics) { var prevMap = SongCore.Loader.GetLevelById(levelID); if (prevMap == null) { return(false); } if (prevMap is CustomPreviewBeatmapLevel custom) { return(this.IsRank(custom, beatmapDifficulty, beatDataCharacteristics)); } else { return(false); } }
public BeatSongDataDifficultyStats GetBeatStarSongDiffculityStats(BeatSongData song, BeatmapDifficulty difficulty, BeatDataCharacteristics beatDataCharacteristics) { if (!song.Characteristics.TryGetValue(beatDataCharacteristics, out var dic)) { return(null); } if (!dic.TryGetValue(BeatMapCoreConverter.ConvertToBeatMapDifficulity(difficulty), out var result)) { return(null); } return(result); }
public bool IsRank(CustomPreviewBeatmapLevel beatmapLevel, BeatmapDifficulty beatmapDifficulty, BeatDataCharacteristics beatDataCharacteristics) { var song = this.GetBeatStarSong(beatmapLevel); return(this.GetBeatStarSongDiffculityStats(song, beatmapDifficulty, beatDataCharacteristics).Ranked); }
public double GetPP(CustomPreviewBeatmapLevel beatmapLevel, BeatmapDifficulty difficulty, BeatDataCharacteristics beatDataCharacteristics) { if (beatDataCharacteristics == BeatDataCharacteristics.Standard && this._downloader.Init && this._downloader.RowPPs.TryGetValue(beatmapLevel.GetHashOrLevelID().ToUpper(), out var pp)) { // PP counterと同じ処理 switch (difficulty) { case BeatmapDifficulty.Easy: return(pp.EasySoloStandard); case BeatmapDifficulty.Normal: return(pp.NormalSoloStandard); case BeatmapDifficulty.Hard: return(pp.HardSoloStandard); case BeatmapDifficulty.Expert: return(pp.ExpertSoloStandard); case BeatmapDifficulty.ExpertPlus: return(pp.ExpertPlusSoloStandard); default: break; } } var song = this.GetBeatStarSongDiffculityStats(beatmapLevel, difficulty, beatDataCharacteristics); if (song != null) { return(song.PP); } return(0); }
public BeatSongDataDifficultyStats GetBeatStarSongDiffculityStats(CustomPreviewBeatmapLevel beatmapLevel, BeatmapDifficulty difficulty, BeatDataCharacteristics beatDataCharacteristics) { var song = this.GetBeatStarSong(beatmapLevel); if (song == null) { return(null); } return(this.GetBeatStarSongDiffculityStats(song, difficulty, beatDataCharacteristics)); }
private void SetCustomLabel(CustomPreviewBeatmapLevel beatmap, BeatmapDifficulty diff, BeatDataCharacteristics beatDataCharacteristics) { if (beatmap == null) { return; } var songData = Collections.RetrieveExtraSongData(SongCore.Utilities.Hashing.GetCustomLevelHash(beatmap)); var diffData = songData._difficulties?.FirstOrDefault(x => x._beatmapCharacteristicName == beatDataCharacteristics.GetDescription() && x._difficulty == diff); var currentDiffLabel = diffData?._difficultyLabel; if (string.IsNullOrEmpty(currentDiffLabel)) { return; } if (this._statusManager.StatusJSON["beatmap"] == null) { this._statusManager.StatusJSON["beatmap"] = new JSONObject(); } var beatmapJson = this._statusManager.StatusJSON["beatmap"].AsObject; beatmapJson["customLabel"] = currentDiffLabel; }