mirror of
https://github.com/ppy/osu.git
synced 2025-03-02 00:52:54 +08:00
38 lines
1.2 KiB
C#
38 lines
1.2 KiB
C#
|
using OpenTK.Graphics;
|
|||
|
using osu.Framework.Graphics;
|
|||
|
using osu.Framework.Graphics.Containers;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
|
|||
|
namespace osu.Game.Screens.Select.Details
|
|||
|
{
|
|||
|
public class BeatmapDetailsGraph : FillFlowContainer<BeatmapDetailsBar>
|
|||
|
{
|
|||
|
|
|||
|
public IEnumerable<float> Values
|
|||
|
{
|
|||
|
set
|
|||
|
{
|
|||
|
List<float> values = value.ToList();
|
|||
|
List<BeatmapDetailsBar> graphBars = Children.ToList();
|
|||
|
for (int i = 0; i < values.Count; i++)
|
|||
|
if (graphBars.Count > i)
|
|||
|
{
|
|||
|
graphBars[i].Length = values[i] / values.Max();
|
|||
|
graphBars[i].Width = 1.0f / values.Count;
|
|||
|
}
|
|||
|
else
|
|||
|
Add(new BeatmapDetailsBar
|
|||
|
{
|
|||
|
RelativeSizeAxes = Axes.Both,
|
|||
|
Width = 1.0f / values.Count,
|
|||
|
Length = values[i] / values.Max(),
|
|||
|
Direction = BarDirection.BottomToTop,
|
|||
|
BackgroundColour = new Color4(0, 0, 0, 0),
|
|||
|
});
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
}
|