1
0
mirror of https://github.com/ppy/osu.git synced 2025-01-16 00:13:12 +08:00
osu-lazer/osu.Game/Screens/Edit/NewDifficultyCreationParameters.cs

66 lines
2.3 KiB
C#

// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
#nullable enable
using osu.Game.Beatmaps;
using osu.Game.Rulesets;
using osu.Game.Skinning;
namespace osu.Game.Screens.Edit
{
public class NewDifficultyCreationParameters
{
/// <summary>
/// The <see cref="BeatmapSetInfo"/> that should contain the newly-created difficulty.
/// </summary>
public BeatmapSetInfo BeatmapSet { get; }
/// <summary>
/// The <see cref="RulesetInfo"/> that the new difficulty should be playable for.
/// </summary>
public RulesetInfo Ruleset { get; }
/// <summary>
/// A reference <see cref="IBeatmap"/> upon which the new difficulty should be based.
/// </summary>
public IBeatmap ReferenceBeatmap { get; }
/// <summary>
/// A reference <see cref="ISkin"/> that the new difficulty should base its own skin upon.
/// </summary>
public ISkin? ReferenceBeatmapSkin { get; }
/// <summary>
/// Whether the new difficulty should be blank.
/// </summary>
/// <remarks>
/// A blank difficulty will have no objects, no control points other than timing points taken from <see cref="ReferenceBeatmap"/>
/// and will not share <see cref="BeatmapInfo"/> values with <see cref="ReferenceBeatmap"/>,
/// but it will share metadata and timing information with <see cref="ReferenceBeatmap"/>.
/// </remarks>
public bool CreateBlank { get; }
/// <summary>
/// The saved state of the previous <see cref="Editor"/> which should be restored upon opening the newly-created difficulty.
/// </summary>
public EditorState EditorState { get; }
public NewDifficultyCreationParameters(
BeatmapSetInfo beatmapSet,
RulesetInfo ruleset,
IBeatmap referenceBeatmap,
ISkin? referenceBeatmapSkin,
bool createBlank,
EditorState editorState)
{
BeatmapSet = beatmapSet;
Ruleset = ruleset;
ReferenceBeatmap = referenceBeatmap;
ReferenceBeatmapSkin = referenceBeatmapSkin;
CreateBlank = createBlank;
EditorState = editorState;
}
}
}