/// <summary> /// Updates the text of the metadata with a new map/mods /// Realigns it so it's in the middle. /// </summary> /// <param name="map"></param> public void UpdateAndAlignMetadata(Map map) { var length = TimeSpan.FromMilliseconds(map.SongLength / ModHelper.GetRateFromMods(ModManager.Mods)); Mode.UpdateValue(ModeHelper.ToShortHand(map.Mode)); Bpm.UpdateValue(((int)(map.Bpm * ModHelper.GetRateFromMods(ModManager.Mods))).ToString(CultureInfo.InvariantCulture)); Length.UpdateValue(length.Hours > 0 ? length.ToString(@"hh\:mm\:ss") : length.ToString(@"mm\:ss")); Difficulty.UpdateValue(StringHelper.AccuracyToString((float) map.DifficultyFromMods(ModManager.Mods)).Replace("%", "")); LNPercentage.UpdateValue(((int) map.LNPercentage).ToString(CultureInfo.InvariantCulture) + "%"); for (var i = 0; i < Items.Count; i++) { var metadata = Items[i]; if (i == 0) { metadata.X = 5; continue; } var previous = Items[i - 1]; metadata.X = previous.X + previous.Width + 5 + 5; } Items.ForEach(x => x.X += (Banner.Width - Items.Last().X) / Items.Count / 2); }