mirror of
https://github.com/osukey/osukey.git
synced 2025-08-04 15:16:38 +09:00
Rewrite CirclePiece to be referenced to 128x128px and handle accented hits more sanely.
This commit is contained in:
@ -2,7 +2,11 @@
|
||||
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
|
||||
|
||||
using OpenTK;
|
||||
using OpenTK.Graphics;
|
||||
using osu.Framework.Allocation;
|
||||
using osu.Framework.Graphics.Containers;
|
||||
using osu.Framework.Screens.Testing;
|
||||
using osu.Game.Graphics;
|
||||
using osu.Game.Modes.Taiko.Objects.Drawable.Pieces;
|
||||
|
||||
namespace osu.Desktop.VisualTests.Tests
|
||||
@ -11,53 +15,151 @@ namespace osu.Desktop.VisualTests.Tests
|
||||
{
|
||||
public override string Description => "Taiko hit objects";
|
||||
|
||||
private bool kiai;
|
||||
|
||||
public override void Reset()
|
||||
{
|
||||
base.Reset();
|
||||
|
||||
Add(new CentreHitCirclePiece
|
||||
AddToggle("Kiai", b =>
|
||||
{
|
||||
kiai = !kiai;
|
||||
Reset();
|
||||
});
|
||||
|
||||
Add(new CentreHitCircle(new CirclePiece(@"centre")
|
||||
{
|
||||
KiaiMode = kiai
|
||||
})
|
||||
{
|
||||
Position = new Vector2(100, 100)
|
||||
});
|
||||
|
||||
Add(new FinisherPiece(new CentreHitCirclePiece())
|
||||
Add(new CentreHitCircle(new AccentedCirclePiece(@"centre")
|
||||
{
|
||||
KiaiMode = kiai
|
||||
})
|
||||
{
|
||||
Position = new Vector2(350, 100)
|
||||
});
|
||||
|
||||
Add(new RimHitCirclePiece
|
||||
Add(new RimHitCircle(new CirclePiece(@"rim")
|
||||
{
|
||||
KiaiMode = kiai
|
||||
})
|
||||
{
|
||||
Position = new Vector2(100, 300)
|
||||
});
|
||||
|
||||
Add(new FinisherPiece(new RimHitCirclePiece())
|
||||
Add(new RimHitCircle(new AccentedCirclePiece(@"rim")
|
||||
{
|
||||
KiaiMode = kiai
|
||||
})
|
||||
{
|
||||
Position = new Vector2(350, 300)
|
||||
});
|
||||
|
||||
Add(new BashCirclePiece
|
||||
Add(new SwellCircle(new CirclePiece(@"swell")
|
||||
{
|
||||
KiaiMode = kiai
|
||||
})
|
||||
{
|
||||
Position = new Vector2(100, 500)
|
||||
});
|
||||
|
||||
Add(new FinisherPiece(new BashCirclePiece())
|
||||
Add(new SwellCircle(new AccentedCirclePiece(@"swell")
|
||||
{
|
||||
KiaiMode = kiai
|
||||
})
|
||||
{
|
||||
Position = new Vector2(350, 500)
|
||||
});
|
||||
|
||||
Add(new DrumRollCirclePiece
|
||||
Add(new DrumRollCircle(new CirclePiece(string.Empty)
|
||||
{
|
||||
Width = 250,
|
||||
KiaiMode = kiai
|
||||
})
|
||||
{
|
||||
Position = new Vector2(575, 100)
|
||||
});
|
||||
|
||||
Add(new FinisherPiece(new DrumRollCirclePiece()
|
||||
Add(new DrumRollCircle(new AccentedCirclePiece(string.Empty)
|
||||
{
|
||||
Width = 250
|
||||
Width = 250,
|
||||
KiaiMode = kiai
|
||||
})
|
||||
{
|
||||
Position = new Vector2(575, 300)
|
||||
});
|
||||
}
|
||||
|
||||
private class SwellCircle : BaseCircle
|
||||
{
|
||||
public SwellCircle(CirclePiece piece)
|
||||
: base(piece)
|
||||
{
|
||||
}
|
||||
|
||||
[BackgroundDependencyLoader]
|
||||
private void load(OsuColour colours)
|
||||
{
|
||||
Piece.AccentColour = colours.YellowDark;
|
||||
}
|
||||
}
|
||||
|
||||
private class DrumRollCircle : BaseCircle
|
||||
{
|
||||
public DrumRollCircle(CirclePiece piece)
|
||||
: base(piece)
|
||||
{
|
||||
}
|
||||
|
||||
[BackgroundDependencyLoader]
|
||||
private void load(OsuColour colours)
|
||||
{
|
||||
Piece.AccentColour = colours.YellowDark;
|
||||
}
|
||||
}
|
||||
|
||||
private class CentreHitCircle : BaseCircle
|
||||
{
|
||||
public CentreHitCircle(CirclePiece piece)
|
||||
: base(piece)
|
||||
{
|
||||
}
|
||||
|
||||
[BackgroundDependencyLoader]
|
||||
private void load(OsuColour colours)
|
||||
{
|
||||
Piece.AccentColour = colours.PinkDarker;
|
||||
}
|
||||
}
|
||||
|
||||
private class RimHitCircle : BaseCircle
|
||||
{
|
||||
public RimHitCircle(CirclePiece piece)
|
||||
: base(piece)
|
||||
{
|
||||
}
|
||||
|
||||
[BackgroundDependencyLoader]
|
||||
private void load(OsuColour colours)
|
||||
{
|
||||
Piece.AccentColour = colours.BlueDarker;
|
||||
}
|
||||
}
|
||||
|
||||
private abstract class BaseCircle : Container
|
||||
{
|
||||
protected readonly CirclePiece Piece;
|
||||
|
||||
protected BaseCircle(CirclePiece piece)
|
||||
{
|
||||
Piece = piece;
|
||||
|
||||
Add(Piece);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user