Add a separate property to control playfield area

This commit is contained in:
smoogipoo
2018-02-21 19:52:36 +09:00
parent 9a9f53ddfd
commit 5faec5c2f1
5 changed files with 15 additions and 11 deletions

View File

@ -319,7 +319,7 @@ namespace osu.Game.Rulesets.UI
{
base.Update();
Playfield.Size = GetAspectAdjustedSize();
Playfield.Size = GetAspectAdjustedSize() * PlayfieldArea;
}
/// <summary>
@ -330,11 +330,17 @@ namespace osu.Game.Rulesets.UI
protected virtual BeatmapProcessor<TObject> CreateBeatmapProcessor() => new BeatmapProcessor<TObject>();
/// <summary>
/// Computes the final size of the <see cref="Playfield"/> in relative coordinate space after all
/// aspect and scale adjustments.
/// Computes the size of the <see cref="Playfield"/> in relative coordinate space after aspect adjustments.
/// </summary>
/// <returns>The aspect-adjusted size.</returns>
protected virtual Vector2 GetAspectAdjustedSize() => new Vector2(0.75f); // A sane default
protected virtual Vector2 GetAspectAdjustedSize() => Vector2.One;
/// <summary>
/// The area of this <see cref="RulesetContainer"/> that is available for the <see cref="Playfield"/> to use.
/// Must be specified in relative coordinate space to this <see cref="RulesetContainer"/>.
/// This affects the final size of the <see cref="Playfield"/> but does not affect the <see cref="Playfield"/>'s scale.
/// </summary>
protected virtual Vector2 PlayfieldArea => new Vector2(0.75f); // A sane default
/// <summary>
/// Creates a converter to convert Beatmap to a specific mode.