osu/osu.Game/Rulesets/ILegacyRuleset.cs
2024-03-28 22:51:12 +09:00

28 lines
817 B
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.
using System.Collections.Generic;
using osu.Game.Beatmaps;
using osu.Game.Rulesets.Mods;
using osu.Game.Rulesets.Scoring.Legacy;
namespace osu.Game.Rulesets
{
public interface ILegacyRuleset
{
const int MAX_LEGACY_RULESET_ID = 3;
/// <summary>
/// Identifies the server-side ID of a legacy ruleset.
/// </summary>
int LegacyID { get; }
/// <summary>
/// Retrieves the number of mania keys required to play the beatmap.
/// </summary>
int GetKeyCount(IBeatmapInfo beatmapInfo, IReadOnlyList<Mod>? mods = null) => 0;
ILegacyScoreSimulator CreateLegacyScoreSimulator();
}
}