mirror of
https://github.com/ppy/osu.git
synced 2025-01-18 14:03:07 +08:00
Move bookmarks out of BeatmapInfo
Not sure why I didn't do that in https://github.com/ppy/osu/pull/28473...
This commit is contained in:
parent
f09d8f097a
commit
808934581f
@ -109,9 +109,9 @@ namespace osu.Game.Tests.Beatmaps.Formats
|
|||||||
95901, 106450, 116999, 119637, 130186, 140735, 151285,
|
95901, 106450, 116999, 119637, 130186, 140735, 151285,
|
||||||
161834, 164471, 175020, 185570, 196119, 206669, 209306
|
161834, 164471, 175020, 185570, 196119, 206669, 209306
|
||||||
};
|
};
|
||||||
Assert.AreEqual(expectedBookmarks.Length, beatmap.BeatmapInfo.Bookmarks.Length);
|
Assert.AreEqual(expectedBookmarks.Length, beatmap.Bookmarks.Length);
|
||||||
for (int i = 0; i < expectedBookmarks.Length; i++)
|
for (int i = 0; i < expectedBookmarks.Length; i++)
|
||||||
Assert.AreEqual(expectedBookmarks[i], beatmap.BeatmapInfo.Bookmarks[i]);
|
Assert.AreEqual(expectedBookmarks[i], beatmap.Bookmarks[i]);
|
||||||
Assert.AreEqual(1.8, beatmap.DistanceSpacing);
|
Assert.AreEqual(1.8, beatmap.DistanceSpacing);
|
||||||
Assert.AreEqual(4, beatmap.BeatmapInfo.BeatDivisor);
|
Assert.AreEqual(4, beatmap.BeatmapInfo.BeatDivisor);
|
||||||
Assert.AreEqual(4, beatmap.GridSize);
|
Assert.AreEqual(4, beatmap.GridSize);
|
||||||
|
@ -73,9 +73,9 @@ namespace osu.Game.Tests.Beatmaps.Formats
|
|||||||
95901, 106450, 116999, 119637, 130186, 140735, 151285,
|
95901, 106450, 116999, 119637, 130186, 140735, 151285,
|
||||||
161834, 164471, 175020, 185570, 196119, 206669, 209306
|
161834, 164471, 175020, 185570, 196119, 206669, 209306
|
||||||
};
|
};
|
||||||
Assert.AreEqual(expectedBookmarks.Length, beatmapInfo.Bookmarks.Length);
|
Assert.AreEqual(expectedBookmarks.Length, beatmap.Bookmarks.Length);
|
||||||
for (int i = 0; i < expectedBookmarks.Length; i++)
|
for (int i = 0; i < expectedBookmarks.Length; i++)
|
||||||
Assert.AreEqual(expectedBookmarks[i], beatmapInfo.Bookmarks[i]);
|
Assert.AreEqual(expectedBookmarks[i], beatmap.Bookmarks[i]);
|
||||||
Assert.AreEqual(1.8, beatmap.DistanceSpacing);
|
Assert.AreEqual(1.8, beatmap.DistanceSpacing);
|
||||||
Assert.AreEqual(4, beatmapInfo.BeatDivisor);
|
Assert.AreEqual(4, beatmapInfo.BeatDivisor);
|
||||||
Assert.AreEqual(4, beatmap.GridSize);
|
Assert.AreEqual(4, beatmap.GridSize);
|
||||||
|
@ -26,7 +26,7 @@ namespace osu.Game.Tests.Visual.Editing
|
|||||||
beatmap.ControlPointInfo.Add(50000, new DifficultyControlPoint { SliderVelocity = 2 });
|
beatmap.ControlPointInfo.Add(50000, new DifficultyControlPoint { SliderVelocity = 2 });
|
||||||
beatmap.ControlPointInfo.Add(80000, new EffectControlPoint { KiaiMode = true });
|
beatmap.ControlPointInfo.Add(80000, new EffectControlPoint { KiaiMode = true });
|
||||||
beatmap.ControlPointInfo.Add(110000, new EffectControlPoint { KiaiMode = false });
|
beatmap.ControlPointInfo.Add(110000, new EffectControlPoint { KiaiMode = false });
|
||||||
beatmap.BeatmapInfo.Bookmarks = new[] { 75000, 125000 };
|
beatmap.Bookmarks = new[] { 75000, 125000 };
|
||||||
beatmap.Breaks.Add(new ManualBreakPeriod(90000, 120000));
|
beatmap.Breaks.Add(new ManualBreakPeriod(90000, 120000));
|
||||||
|
|
||||||
editorBeatmap = new EditorBeatmap(beatmap);
|
editorBeatmap = new EditorBeatmap(beatmap);
|
||||||
|
@ -139,6 +139,8 @@ namespace osu.Game.Beatmaps
|
|||||||
|
|
||||||
public int CountdownOffset { get; set; }
|
public int CountdownOffset { get; set; }
|
||||||
|
|
||||||
|
public int[] Bookmarks { get; set; } = Array.Empty<int>();
|
||||||
|
|
||||||
IBeatmap IBeatmap.Clone() => Clone();
|
IBeatmap IBeatmap.Clone() => Clone();
|
||||||
|
|
||||||
public Beatmap<T> Clone() => (Beatmap<T>)MemberwiseClone();
|
public Beatmap<T> Clone() => (Beatmap<T>)MemberwiseClone();
|
||||||
|
@ -85,6 +85,7 @@ namespace osu.Game.Beatmaps
|
|||||||
beatmap.TimelineZoom = original.TimelineZoom;
|
beatmap.TimelineZoom = original.TimelineZoom;
|
||||||
beatmap.Countdown = original.Countdown;
|
beatmap.Countdown = original.Countdown;
|
||||||
beatmap.CountdownOffset = original.CountdownOffset;
|
beatmap.CountdownOffset = original.CountdownOffset;
|
||||||
|
beatmap.Bookmarks = original.Bookmarks;
|
||||||
|
|
||||||
return beatmap;
|
return beatmap;
|
||||||
}
|
}
|
||||||
|
@ -231,9 +231,6 @@ namespace osu.Game.Beatmaps
|
|||||||
[Obsolete("Use ScoreManager.GetMaximumAchievableComboAsync instead.")]
|
[Obsolete("Use ScoreManager.GetMaximumAchievableComboAsync instead.")]
|
||||||
public int? MaxCombo { get; set; }
|
public int? MaxCombo { get; set; }
|
||||||
|
|
||||||
[Ignored]
|
|
||||||
public int[] Bookmarks { get; set; } = Array.Empty<int>();
|
|
||||||
|
|
||||||
public int BeatmapVersion;
|
public int BeatmapVersion;
|
||||||
|
|
||||||
public BeatmapInfo Clone() => (BeatmapInfo)this.Detach().MemberwiseClone();
|
public BeatmapInfo Clone() => (BeatmapInfo)this.Detach().MemberwiseClone();
|
||||||
|
@ -305,7 +305,7 @@ namespace osu.Game.Beatmaps.Formats
|
|||||||
switch (pair.Key)
|
switch (pair.Key)
|
||||||
{
|
{
|
||||||
case @"Bookmarks":
|
case @"Bookmarks":
|
||||||
beatmap.BeatmapInfo.Bookmarks = pair.Value.Split(',').Select(v =>
|
beatmap.Bookmarks = pair.Value.Split(',').Select(v =>
|
||||||
{
|
{
|
||||||
bool result = int.TryParse(v, out int val);
|
bool result = int.TryParse(v, out int val);
|
||||||
return new { result, val };
|
return new { result, val };
|
||||||
|
@ -110,8 +110,8 @@ namespace osu.Game.Beatmaps.Formats
|
|||||||
{
|
{
|
||||||
writer.WriteLine("[Editor]");
|
writer.WriteLine("[Editor]");
|
||||||
|
|
||||||
if (beatmap.BeatmapInfo.Bookmarks.Length > 0)
|
if (beatmap.Bookmarks.Length > 0)
|
||||||
writer.WriteLine(FormattableString.Invariant($"Bookmarks: {string.Join(',', beatmap.BeatmapInfo.Bookmarks)}"));
|
writer.WriteLine(FormattableString.Invariant($"Bookmarks: {string.Join(',', beatmap.Bookmarks)}"));
|
||||||
writer.WriteLine(FormattableString.Invariant($"DistanceSpacing: {beatmap.DistanceSpacing}"));
|
writer.WriteLine(FormattableString.Invariant($"DistanceSpacing: {beatmap.DistanceSpacing}"));
|
||||||
writer.WriteLine(FormattableString.Invariant($"BeatDivisor: {beatmap.BeatmapInfo.BeatDivisor}"));
|
writer.WriteLine(FormattableString.Invariant($"BeatDivisor: {beatmap.BeatmapInfo.BeatDivisor}"));
|
||||||
writer.WriteLine(FormattableString.Invariant($"GridSize: {beatmap.GridSize}"));
|
writer.WriteLine(FormattableString.Invariant($"GridSize: {beatmap.GridSize}"));
|
||||||
|
@ -107,6 +107,8 @@ namespace osu.Game.Beatmaps
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
int CountdownOffset { get; internal set; }
|
int CountdownOffset { get; internal set; }
|
||||||
|
|
||||||
|
int[] Bookmarks { get; internal set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Creates a shallow-clone of this beatmap and returns it.
|
/// Creates a shallow-clone of this beatmap and returns it.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -413,6 +413,12 @@ namespace osu.Game.Rulesets.Difficulty
|
|||||||
set => baseBeatmap.CountdownOffset = value;
|
set => baseBeatmap.CountdownOffset = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int[] Bookmarks
|
||||||
|
{
|
||||||
|
get => baseBeatmap.Bookmarks;
|
||||||
|
set => baseBeatmap.Bookmarks = value;
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,7 @@ namespace osu.Game.Screens.Edit.Components.Timelines.Summary.Parts
|
|||||||
protected override void LoadBeatmap(EditorBeatmap beatmap)
|
protected override void LoadBeatmap(EditorBeatmap beatmap)
|
||||||
{
|
{
|
||||||
base.LoadBeatmap(beatmap);
|
base.LoadBeatmap(beatmap);
|
||||||
foreach (int bookmark in beatmap.BeatmapInfo.Bookmarks)
|
foreach (int bookmark in beatmap.Bookmarks)
|
||||||
Add(new BookmarkVisualisation(bookmark));
|
Add(new BookmarkVisualisation(bookmark));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -270,6 +270,12 @@ namespace osu.Game.Screens.Edit
|
|||||||
set => PlayableBeatmap.CountdownOffset = value;
|
set => PlayableBeatmap.CountdownOffset = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int[] Bookmarks
|
||||||
|
{
|
||||||
|
get => PlayableBeatmap.Bookmarks;
|
||||||
|
set => PlayableBeatmap.Bookmarks = value;
|
||||||
|
}
|
||||||
|
|
||||||
public IBeatmap Clone() => (EditorBeatmap)MemberwiseClone();
|
public IBeatmap Clone() => (EditorBeatmap)MemberwiseClone();
|
||||||
|
|
||||||
private IList mutableHitObjects => (IList)PlayableBeatmap.HitObjects;
|
private IList mutableHitObjects => (IList)PlayableBeatmap.HitObjects;
|
||||||
|
Loading…
Reference in New Issue
Block a user