osu/osu.Desktop.VisualTests/Tests/TestCaseTaikoHitObjects.cs

149 lines
4.0 KiB
C#
Raw Normal View History

2017-03-20 08:02:06 +00:00
// Copyright (c) 2007-2017 ppy Pty Ltd <contact@ppy.sh>.
// 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;
using osu.Framework.Graphics.Containers;
2017-03-28 12:03:34 +00:00
using osu.Framework.Testing;
using osu.Game.Graphics;
using osu.Game.Modes.Taiko.Objects.Drawable.Pieces;
2017-03-17 13:01:06 +00:00
namespace osu.Desktop.VisualTests.Tests
{
internal class TestCaseTaikoHitObjects : TestCase
{
public override string Description => "Taiko hit objects";
private bool kiai;
2017-03-17 13:01:06 +00:00
public override void Reset()
{
base.Reset();
AddToggle("Kiai", b =>
{
kiai = !kiai;
Reset();
});
Add(new CirclePiece
{
Position = new Vector2(100, 100),
Width = 0,
AccentColour = Color4.DarkRed,
KiaiMode = kiai,
Children = new[]
{
new CentreHitSymbolPiece()
}
2017-03-20 06:07:42 +00:00
});
Add(new StrongCirclePiece
{
Position = new Vector2(350, 100),
Width = 0,
AccentColour = Color4.DarkRed,
KiaiMode = kiai,
Children = new[]
{
new CentreHitSymbolPiece()
}
2017-03-17 13:01:06 +00:00
});
Add(new CirclePiece
{
Position = new Vector2(100, 300),
Width = 0,
AccentColour = Color4.DarkBlue,
KiaiMode = kiai,
Children = new[]
{
new RimHitSymbolPiece()
}
2017-03-20 06:07:42 +00:00
});
Add(new StrongCirclePiece
2017-03-20 06:07:42 +00:00
{
Position = new Vector2(350, 300),
Width = 0,
AccentColour = Color4.DarkBlue,
KiaiMode = kiai,
Children = new[]
{
new RimHitSymbolPiece()
}
2017-03-17 13:01:06 +00:00
});
2017-03-28 02:18:12 +00:00
Add(new SwellCircle(new CirclePiece
{
KiaiMode = kiai
})
2017-03-17 13:01:06 +00:00
{
Position = new Vector2(100, 500)
2017-03-20 06:07:42 +00:00
});
2017-03-28 02:18:12 +00:00
Add(new SwellCircle(new StrongCirclePiece
{
KiaiMode = kiai
})
2017-03-20 06:07:42 +00:00
{
Position = new Vector2(350, 500)
2017-03-17 13:01:06 +00:00
});
2017-03-28 08:24:14 +00:00
Add(new DrumRollCirclePiece(new CirclePiece
2017-03-17 13:01:06 +00:00
{
KiaiMode = kiai
})
{
2017-03-28 08:24:14 +00:00
Width = 0.25f,
Position = new Vector2(575, 100)
2017-03-20 06:07:42 +00:00
});
2017-03-28 08:24:14 +00:00
Add(new DrumRollCirclePiece(new StrongCirclePiece
2017-03-20 06:07:42 +00:00
{
KiaiMode = kiai
2017-03-20 06:07:42 +00:00
})
{
2017-03-28 08:24:14 +00:00
Width = 0.25f,
Position = new Vector2(575, 300)
2017-03-17 13:01:06 +00:00
});
}
private class SwellCircle : BaseCircle
{
public SwellCircle(CirclePiece piece)
: base(piece)
{
Piece.Add(new TextAwesome
{
Anchor = Anchor.Centre,
Origin = Anchor.Centre,
2017-03-28 01:33:23 +00:00
TextSize = CirclePiece.SYMBOL_INNER_SIZE,
2017-03-24 13:11:11 +00:00
Icon = FontAwesome.fa_asterisk,
Shadow = false
});
}
[BackgroundDependencyLoader]
2017-03-24 11:54:09 +00:00
private void load(OsuColour colours)
{
Piece.AccentColour = colours.YellowDark;
}
}
private abstract class BaseCircle : Container
{
protected readonly CirclePiece Piece;
protected BaseCircle(CirclePiece piece)
{
Piece = piece;
Add(Piece);
}
}
2017-03-17 13:01:06 +00:00
}
}