1
0
mirror of https://github.com/ppy/osu.git synced 2025-02-19 08:23:20 +08:00

Rewrite how swell circle piece is instantiated.

This commit is contained in:
smoogipooo 2017-03-29 14:52:14 +09:00
parent 400a57ace6
commit 37dcc8b71d
5 changed files with 44 additions and 51 deletions

View File

@ -62,20 +62,16 @@ namespace osu.Desktop.VisualTests.Tests
Position = new Vector2(350, 300)
});
Add(new SwellCirclePiece(new CirclePiece
Add(new CirclePiece
{
KiaiMode = kiai
})
{
Position = new Vector2(100, 500)
});
Add(new SwellCirclePiece(new StrongCirclePiece
{
KiaiMode = kiai
})
{
Position = new Vector2(350, 500)
Position = new Vector2(100, 500),
Width = 0,
AccentColour = Color4.Orange,
KiaiMode = kiai,
Children = new[]
{
new SwellSymbolPiece()
}
});
Add(new DrumRollCircle(new CirclePiece()

View File

@ -41,6 +41,8 @@ namespace osu.Game.Modes.Taiko.Objects.Drawable
private readonly CircularContainer targetRing;
private readonly CircularContainer innerRing;
private readonly CirclePiece circlePiece;
private bool hasStarted;
public DrawableSwell(Swell swell)
@ -107,7 +109,13 @@ namespace osu.Game.Modes.Taiko.Objects.Drawable
}
}
},
new SwellCirclePiece(new CirclePiece())
circlePiece = new CirclePiece
{
Children = new []
{
new SwellSymbolPiece()
}
}
}
}
};
@ -116,6 +124,7 @@ namespace osu.Game.Modes.Taiko.Objects.Drawable
[BackgroundDependencyLoader]
private void load(OsuColour colours)
{
circlePiece.AccentColour = colours.YellowDark;
innerRing.Colour = colours.YellowDark;
targetRing.BorderColour = colours.YellowDark.Opacity(0.25f);
}

View File

@ -1,35 +0,0 @@
// Copyright (c) 2007-2017 ppy Pty Ltd <contact@ppy.sh>.
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using osu.Framework.Graphics;
using osu.Framework.Allocation;
using osu.Framework.Graphics.Containers;
using osu.Game.Graphics;
namespace osu.Game.Modes.Taiko.Objects.Drawable.Pieces
{
public class SwellCirclePiece : Container
{
private readonly CirclePiece circle;
public SwellCirclePiece(CirclePiece piece)
{
Add(circle = piece);
circle.Add(new TextAwesome
{
Anchor = Anchor.Centre,
Origin = Anchor.Centre,
TextSize = CirclePiece.SYMBOL_INNER_SIZE,
Icon = FontAwesome.fa_asterisk,
Shadow = false
});
}
[BackgroundDependencyLoader]
private void load(OsuColour colours)
{
circle.AccentColour = colours.YellowDark;
}
}
}

View File

@ -0,0 +1,23 @@
// Copyright (c) 2007-2017 ppy Pty Ltd <contact@ppy.sh>.
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using osu.Game.Graphics;
using osu.Framework.Graphics;
namespace osu.Game.Modes.Taiko.Objects.Drawable.Pieces
{
/// <summary>
/// The symbol used for swell pieces.
/// </summary>
public class SwellSymbolPiece : TextAwesome
{
public SwellSymbolPiece()
{
Anchor = Anchor.Centre;
Origin = Anchor.Centre;
TextSize = CirclePiece.SYMBOL_INNER_SIZE;
Icon = FontAwesome.fa_asterisk;
Shadow = false;
}
}
}

View File

@ -58,9 +58,9 @@
<Compile Include="Objects\Drawable\DrawableDrumRollTick.cs" />
<Compile Include="Objects\Drawable\DrawableSwell.cs" />
<Compile Include="Objects\Drawable\DrawableTaikoHitObject.cs" />
<Compile Include="Objects\Drawable\Pieces\SwellCirclePiece.cs" />
<Compile Include="Objects\Drawable\Pieces\StrongCirclePiece.cs" />
<Compile Include="Objects\Drawable\Pieces\CirclePiece.cs" />
<Compile Include="Objects\Drawable\Pieces\SwellSymbolPiece.cs" />
<Compile Include="Objects\DrumRoll.cs" />
<Compile Include="Objects\DrumRollTick.cs" />
<Compile Include="Objects\Hit.cs" />
@ -103,4 +103,4 @@
<Target Name="AfterBuild">
</Target>
-->
</Project>
</Project>