Combine base class for JudgementPiece

This commit is contained in:
Dean Herbert 2022-12-24 03:22:04 +08:00
parent b1232a7ee7
commit 727ac00f6d
6 changed files with 39 additions and 46 deletions

View File

@ -3,11 +3,9 @@
using System; using System;
using osu.Framework.Allocation; using osu.Framework.Allocation;
using osu.Framework.Extensions;
using osu.Framework.Graphics; using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes; using osu.Framework.Graphics.Shapes;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Utils; using osu.Framework.Utils;
using osu.Game.Graphics; using osu.Game.Graphics;
using osu.Game.Graphics.Sprites; using osu.Game.Graphics.Sprites;
@ -18,20 +16,16 @@ using osuTK.Graphics;
namespace osu.Game.Rulesets.Catch.Skinning.Argon namespace osu.Game.Rulesets.Catch.Skinning.Argon
{ {
public partial class ArgonJudgementPiece : CompositeDrawable, IAnimatableJudgement public partial class ArgonJudgementPiece : JudgementPiece, IAnimatableJudgement
{ {
protected readonly HitResult Result;
protected SpriteText JudgementText { get; private set; } = null!;
private RingExplosion? ringExplosion; private RingExplosion? ringExplosion;
[Resolved] [Resolved]
private OsuColour colours { get; set; } = null!; private OsuColour colours { get; set; } = null!;
public ArgonJudgementPiece(HitResult result) public ArgonJudgementPiece(HitResult result)
: base(result)
{ {
Result = result;
Origin = Anchor.Centre; Origin = Anchor.Centre;
Y = 160; Y = 160;
} }
@ -47,7 +41,6 @@ namespace osu.Game.Rulesets.Catch.Skinning.Argon
{ {
Anchor = Anchor.Centre, Anchor = Anchor.Centre,
Origin = Anchor.Centre, Origin = Anchor.Centre,
Text = Result.GetDescription().ToUpperInvariant(),
Colour = colours.ForHitResult(Result), Colour = colours.ForHitResult(Result),
Blending = BlendingParameters.Additive, Blending = BlendingParameters.Additive,
Spacing = new Vector2(10, 0), Spacing = new Vector2(10, 0),

View File

@ -3,11 +3,9 @@
using System; using System;
using osu.Framework.Allocation; using osu.Framework.Allocation;
using osu.Framework.Extensions;
using osu.Framework.Graphics; using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes; using osu.Framework.Graphics.Shapes;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Utils; using osu.Framework.Utils;
using osu.Game.Graphics; using osu.Game.Graphics;
using osu.Game.Graphics.Sprites; using osu.Game.Graphics.Sprites;
@ -18,20 +16,16 @@ using osuTK.Graphics;
namespace osu.Game.Rulesets.Mania.Skinning.Argon namespace osu.Game.Rulesets.Mania.Skinning.Argon
{ {
public partial class ArgonJudgementPiece : CompositeDrawable, IAnimatableJudgement public partial class ArgonJudgementPiece : JudgementPiece, IAnimatableJudgement
{ {
protected readonly HitResult Result;
protected SpriteText JudgementText { get; private set; } = null!;
private RingExplosion? ringExplosion; private RingExplosion? ringExplosion;
[Resolved] [Resolved]
private OsuColour colours { get; set; } = null!; private OsuColour colours { get; set; } = null!;
public ArgonJudgementPiece(HitResult result) public ArgonJudgementPiece(HitResult result)
: base(result)
{ {
Result = result;
Origin = Anchor.Centre; Origin = Anchor.Centre;
Y = 160; Y = 160;
} }
@ -47,7 +41,6 @@ namespace osu.Game.Rulesets.Mania.Skinning.Argon
{ {
Anchor = Anchor.Centre, Anchor = Anchor.Centre,
Origin = Anchor.Centre, Origin = Anchor.Centre,
Text = Result.GetDescription().ToUpperInvariant(),
Colour = colours.ForHitResult(Result), Colour = colours.ForHitResult(Result),
Blending = BlendingParameters.Additive, Blending = BlendingParameters.Additive,
Spacing = new Vector2(10, 0), Spacing = new Vector2(10, 0),

View File

@ -3,10 +3,8 @@
using System; using System;
using osu.Framework.Allocation; using osu.Framework.Allocation;
using osu.Framework.Extensions;
using osu.Framework.Graphics; using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Utils; using osu.Framework.Utils;
using osu.Game.Graphics; using osu.Game.Graphics;
using osu.Game.Graphics.Sprites; using osu.Game.Graphics.Sprites;
@ -17,20 +15,16 @@ using osuTK;
namespace osu.Game.Rulesets.Osu.Skinning.Argon namespace osu.Game.Rulesets.Osu.Skinning.Argon
{ {
public partial class ArgonJudgementPiece : CompositeDrawable, IAnimatableJudgement public partial class ArgonJudgementPiece : JudgementPiece, IAnimatableJudgement
{ {
protected readonly HitResult Result;
protected SpriteText JudgementText { get; private set; } = null!;
private RingExplosion? ringExplosion; private RingExplosion? ringExplosion;
[Resolved] [Resolved]
private OsuColour colours { get; set; } = null!; private OsuColour colours { get; set; } = null!;
public ArgonJudgementPiece(HitResult result) public ArgonJudgementPiece(HitResult result)
: base(result)
{ {
Result = result;
Origin = Anchor.Centre; Origin = Anchor.Centre;
} }
@ -45,7 +39,6 @@ namespace osu.Game.Rulesets.Osu.Skinning.Argon
{ {
Anchor = Anchor.Centre, Anchor = Anchor.Centre,
Origin = Anchor.Centre, Origin = Anchor.Centre,
Text = Result.GetDescription().ToUpperInvariant(),
Colour = colours.ForHitResult(Result), Colour = colours.ForHitResult(Result),
Blending = BlendingParameters.Additive, Blending = BlendingParameters.Additive,
Spacing = new Vector2(5, 0), Spacing = new Vector2(5, 0),

View File

@ -3,11 +3,9 @@
using System; using System;
using osu.Framework.Allocation; using osu.Framework.Allocation;
using osu.Framework.Extensions;
using osu.Framework.Graphics; using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes; using osu.Framework.Graphics.Shapes;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Utils; using osu.Framework.Utils;
using osu.Game.Graphics; using osu.Game.Graphics;
using osu.Game.Graphics.Sprites; using osu.Game.Graphics.Sprites;
@ -18,20 +16,16 @@ using osuTK.Graphics;
namespace osu.Game.Rulesets.Taiko.Skinning.Argon namespace osu.Game.Rulesets.Taiko.Skinning.Argon
{ {
public partial class ArgonJudgementPiece : CompositeDrawable, IAnimatableJudgement public partial class ArgonJudgementPiece : JudgementPiece, IAnimatableJudgement
{ {
protected readonly HitResult Result;
protected SpriteText JudgementText { get; private set; } = null!;
private RingExplosion? ringExplosion; private RingExplosion? ringExplosion;
[Resolved] [Resolved]
private OsuColour colours { get; set; } = null!; private OsuColour colours { get; set; } = null!;
public ArgonJudgementPiece(HitResult result) public ArgonJudgementPiece(HitResult result)
: base(result)
{ {
Result = result;
RelativePositionAxes = Axes.Both; RelativePositionAxes = Axes.Both;
RelativeSizeAxes = Axes.Both; RelativeSizeAxes = Axes.Both;
} }
@ -45,7 +39,6 @@ namespace osu.Game.Rulesets.Taiko.Skinning.Argon
{ {
Anchor = Anchor.Centre, Anchor = Anchor.Centre,
Origin = Anchor.Centre, Origin = Anchor.Centre,
Text = Result.GetDescription().ToUpperInvariant(),
Colour = colours.ForHitResult(Result), Colour = colours.ForHitResult(Result),
Blending = BlendingParameters.Additive, Blending = BlendingParameters.Additive,
Spacing = new Vector2(10, 0), Spacing = new Vector2(10, 0),

View File

@ -4,10 +4,7 @@
#nullable disable #nullable disable
using osu.Framework.Allocation; using osu.Framework.Allocation;
using osu.Framework.Extensions;
using osu.Framework.Graphics; using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Sprites;
using osu.Game.Graphics; using osu.Game.Graphics;
using osu.Game.Graphics.Sprites; using osu.Game.Graphics.Sprites;
using osu.Game.Rulesets.Scoring; using osu.Game.Rulesets.Scoring;
@ -15,18 +12,14 @@ using osuTK;
namespace osu.Game.Rulesets.Judgements namespace osu.Game.Rulesets.Judgements
{ {
public partial class DefaultJudgementPiece : CompositeDrawable, IAnimatableJudgement public partial class DefaultJudgementPiece : JudgementPiece, IAnimatableJudgement
{ {
protected readonly HitResult Result;
protected SpriteText JudgementText { get; private set; }
[Resolved] [Resolved]
private OsuColour colours { get; set; } private OsuColour colours { get; set; }
public DefaultJudgementPiece(HitResult result) public DefaultJudgementPiece(HitResult result)
: base(result)
{ {
Result = result;
Origin = Anchor.Centre; Origin = Anchor.Centre;
} }
@ -41,7 +34,6 @@ namespace osu.Game.Rulesets.Judgements
{ {
Anchor = Anchor.Centre, Anchor = Anchor.Centre,
Origin = Anchor.Centre, Origin = Anchor.Centre,
Text = Result.GetDescription().ToUpperInvariant(),
Colour = colours.ForHitResult(Result), Colour = colours.ForHitResult(Result),
Font = OsuFont.Numeric.With(size: 20), Font = OsuFont.Numeric.With(size: 20),
Scale = new Vector2(0.85f, 1), Scale = new Vector2(0.85f, 1),

View File

@ -0,0 +1,29 @@
// 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 osu.Framework.Extensions;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Sprites;
using osu.Game.Rulesets.Scoring;
namespace osu.Game.Rulesets.Judgements
{
public abstract partial class JudgementPiece : CompositeDrawable
{
protected readonly HitResult Result;
protected SpriteText JudgementText { get; set; } = null!;
protected JudgementPiece(HitResult result)
{
Result = result;
}
protected override void LoadComplete()
{
base.LoadComplete();
JudgementText.Text = Result.GetDescription().ToUpperInvariant();
}
}
}