// Copyright (c) 2007-2018 ppy Pty Ltd . // Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE using System.Collections.Generic; using System.Linq; using osu.Game.Beatmaps; using osu.Game.Graphics; using osu.Game.Rulesets.Mania.Objects; using osu.Game.Rulesets.Mania.UI; namespace osu.Game.Rulesets.Mania.Beatmaps { public class ManiaBeatmap : Beatmap { /// /// The definitions for each stage in a . /// public List Stages = new List(); /// /// Total number of columns represented by all stages in this . /// public int TotalColumns => Stages.Sum(g => g.Columns); /// /// Creates a new . /// /// The initial stages. public ManiaBeatmap(StageDefinition defaultStage) { Stages.Add(defaultStage); } public override IEnumerable GetStatistics() { int holdnotes = HitObjects.Count(s => s is HoldNote); int notes = HitObjects.Count - holdnotes; return new[] { new BeatmapStatistic { Name = @"Object Count", Content = HitObjects.Count.ToString(), Icon = FontAwesome.fa_circle }, new BeatmapStatistic { Name = @"Note Count", Content = notes.ToString(), Icon = FontAwesome.fa_circle_o }, new BeatmapStatistic { Name = @"Hold Note Count", Content = holdnotes.ToString(), Icon = FontAwesome.fa_circle }, }; } } }