mirror of
https://github.com/ppy/osu.git
synced 2025-02-22 02:15:37 +08:00
Rename methods and skin component + add comments
This commit is contained in:
parent
ac770157cc
commit
1b6a11fd99
@ -38,7 +38,7 @@ namespace osu.Game.Rulesets.Taiko.Objects.Drawables
|
|||||||
{
|
{
|
||||||
FillMode = FillMode.Fit;
|
FillMode = FillMode.Fit;
|
||||||
|
|
||||||
Content.Add(spinnerBody = new SkinnableDrawable(new TaikoSkinComponentLookup(TaikoSkinComponents.Swell), _ => new DefaultSwell())
|
Content.Add(spinnerBody = new SkinnableDrawable(new TaikoSkinComponentLookup(TaikoSkinComponents.SwellBody), _ => new DefaultSwell())
|
||||||
{
|
{
|
||||||
Anchor = Anchor.Centre,
|
Anchor = Anchor.Centre,
|
||||||
Origin = Anchor.Centre,
|
Origin = Anchor.Centre,
|
||||||
@ -113,7 +113,7 @@ namespace osu.Game.Rulesets.Taiko.Objects.Drawables
|
|||||||
|
|
||||||
int numHits = ticks.Count(r => r.IsHit);
|
int numHits = ticks.Count(r => r.IsHit);
|
||||||
|
|
||||||
(spinnerBody.Drawable as ISkinnableSwell)?.OnUserInput(this, numHits, MainPiece);
|
(spinnerBody.Drawable as ISkinnableSwell)?.AnimateSwellProgress(this, numHits, MainPiece);
|
||||||
|
|
||||||
if (numHits == HitObject.RequiredHits)
|
if (numHits == HitObject.RequiredHits)
|
||||||
ApplyResult(r => r.Type = r.Judgement.MaxResult);
|
ApplyResult(r => r.Type = r.Judgement.MaxResult);
|
||||||
@ -145,7 +145,7 @@ namespace osu.Game.Rulesets.Taiko.Objects.Drawables
|
|||||||
{
|
{
|
||||||
base.UpdateStartTimeStateTransforms();
|
base.UpdateStartTimeStateTransforms();
|
||||||
|
|
||||||
(spinnerBody.Drawable as ISkinnableSwell)?.ApplyPassiveTransforms(this, MainPiece);
|
(spinnerBody.Drawable as ISkinnableSwell)?.AnimateSwellStart(this, MainPiece);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void UpdateHitStateTransforms(ArmedState state)
|
protected override void UpdateHitStateTransforms(ArmedState state)
|
||||||
@ -153,16 +153,19 @@ namespace osu.Game.Rulesets.Taiko.Objects.Drawables
|
|||||||
switch (state)
|
switch (state)
|
||||||
{
|
{
|
||||||
case ArmedState.Idle:
|
case ArmedState.Idle:
|
||||||
|
// Only for rewind support. Reallows user inputs if swell is rewound from being hit/missed to being idle.
|
||||||
HandleUserInput = true;
|
HandleUserInput = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ArmedState.Miss:
|
case ArmedState.Miss:
|
||||||
case ArmedState.Hit:
|
case ArmedState.Hit:
|
||||||
|
const int clear_animation_duration = 1200;
|
||||||
|
|
||||||
// Postpone drawable hitobject expiration until it has animated/faded out. Inputs on the object are disallowed during this delay.
|
// Postpone drawable hitobject expiration until it has animated/faded out. Inputs on the object are disallowed during this delay.
|
||||||
LifetimeEnd = Time.Current + 1200;
|
LifetimeEnd = Time.Current + clear_animation_duration;
|
||||||
HandleUserInput = false;
|
HandleUserInput = false;
|
||||||
|
|
||||||
(spinnerBody.Drawable as ISkinnableSwell)?.OnHitObjectEnd(state, MainPiece);
|
(spinnerBody.Drawable as ISkinnableSwell)?.AnimateSwellCompletion(state, MainPiece);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -9,14 +9,10 @@ namespace osu.Game.Rulesets.Taiko.Objects
|
|||||||
{
|
{
|
||||||
public interface ISkinnableSwell
|
public interface ISkinnableSwell
|
||||||
{
|
{
|
||||||
void OnUserInput(DrawableTaikoHitObject<Swell> swell, int numHits, SkinnableDrawable mainPiece);
|
void AnimateSwellProgress(DrawableTaikoHitObject<Swell> swell, int numHits, SkinnableDrawable mainPiece);
|
||||||
|
|
||||||
void OnHitObjectEnd(ArmedState state, SkinnableDrawable mainPiece);
|
void AnimateSwellCompletion(ArmedState state, SkinnableDrawable mainPiece);
|
||||||
|
|
||||||
/// <summary>
|
void AnimateSwellStart(DrawableTaikoHitObject<Swell> swell, SkinnableDrawable mainPiece);
|
||||||
/// Applies passive transforms on HitObject start. Gets called every time DrawableTaikoHitobject
|
|
||||||
/// changes state. This happens on creation, and when the object is completed (as in hit or missed).
|
|
||||||
/// </summary>
|
|
||||||
void ApplyPassiveTransforms(DrawableTaikoHitObject<Swell> swell, SkinnableDrawable mainPiece);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -106,7 +106,7 @@ namespace osu.Game.Rulesets.Taiko.Skinning.Default
|
|||||||
targetRing.BorderColour = colours.YellowDark.Opacity(0.25f);
|
targetRing.BorderColour = colours.YellowDark.Opacity(0.25f);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnUserInput(DrawableTaikoHitObject<Swell> swell, int numHits, SkinnableDrawable mainPiece)
|
public void AnimateSwellProgress(DrawableTaikoHitObject<Swell> swell, int numHits, SkinnableDrawable mainPiece)
|
||||||
{
|
{
|
||||||
float completion = (float)numHits / swell.HitObject.RequiredHits;
|
float completion = (float)numHits / swell.HitObject.RequiredHits;
|
||||||
|
|
||||||
@ -120,7 +120,7 @@ namespace osu.Game.Rulesets.Taiko.Skinning.Default
|
|||||||
.FadeTo(completion / 8, 2000, Easing.OutQuint);
|
.FadeTo(completion / 8, 2000, Easing.OutQuint);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnHitObjectEnd(ArmedState state, SkinnableDrawable mainPiece)
|
public void AnimateSwellCompletion(ArmedState state, SkinnableDrawable mainPiece)
|
||||||
{
|
{
|
||||||
const double transition_duration = 300;
|
const double transition_duration = 300;
|
||||||
|
|
||||||
@ -129,7 +129,7 @@ namespace osu.Game.Rulesets.Taiko.Skinning.Default
|
|||||||
mainPiece.FadeOut(transition_duration, Easing.OutQuad);
|
mainPiece.FadeOut(transition_duration, Easing.OutQuad);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ApplyPassiveTransforms(DrawableTaikoHitObject<Swell> swell, SkinnableDrawable mainPiece)
|
public void AnimateSwellStart(DrawableTaikoHitObject<Swell> swell, SkinnableDrawable mainPiece)
|
||||||
{
|
{
|
||||||
if (swell.IsHit == false)
|
if (swell.IsHit == false)
|
||||||
expandingRing.FadeTo(0);
|
expandingRing.FadeTo(0);
|
||||||
|
@ -91,13 +91,13 @@ namespace osu.Game.Rulesets.Taiko.Skinning.Legacy
|
|||||||
clearSample = skin.GetSample(new SampleInfo("spinner-osu"));
|
clearSample = skin.GetSample(new SampleInfo("spinner-osu"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnUserInput(DrawableTaikoHitObject<Swell> swell, int numHits, SkinnableDrawable mainPiece)
|
public void AnimateSwellProgress(DrawableTaikoHitObject<Swell> swell, int numHits, SkinnableDrawable mainPiece)
|
||||||
{
|
{
|
||||||
remainingHitsCountdown.Text = $"{swell.HitObject.RequiredHits - numHits}";
|
remainingHitsCountdown.Text = $"{swell.HitObject.RequiredHits - numHits}";
|
||||||
spinnerCircle.RotateTo(180f * numHits, 1000, Easing.OutQuint);
|
spinnerCircle.RotateTo(180f * numHits, 1000, Easing.OutQuint);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnHitObjectEnd(ArmedState state, SkinnableDrawable mainPiece)
|
public void AnimateSwellCompletion(ArmedState state, SkinnableDrawable mainPiece)
|
||||||
{
|
{
|
||||||
const double clear_transition_duration = 300;
|
const double clear_transition_duration = 300;
|
||||||
|
|
||||||
@ -118,7 +118,7 @@ namespace osu.Game.Rulesets.Taiko.Skinning.Legacy
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ApplyPassiveTransforms(DrawableTaikoHitObject<Swell> swell, SkinnableDrawable mainPiece)
|
public void AnimateSwellStart(DrawableTaikoHitObject<Swell> swell, SkinnableDrawable mainPiece)
|
||||||
{
|
{
|
||||||
if (swell.IsHit == false)
|
if (swell.IsHit == false)
|
||||||
{
|
{
|
||||||
|
@ -62,7 +62,7 @@ namespace osu.Game.Rulesets.Taiko.Skinning.Legacy
|
|||||||
case TaikoSkinComponents.DrumRollTick:
|
case TaikoSkinComponents.DrumRollTick:
|
||||||
return this.GetAnimation("sliderscorepoint", false, false);
|
return this.GetAnimation("sliderscorepoint", false, false);
|
||||||
|
|
||||||
case TaikoSkinComponents.Swell:
|
case TaikoSkinComponents.SwellBody:
|
||||||
if (GetTexture("spinner-circle") != null)
|
if (GetTexture("spinner-circle") != null)
|
||||||
return new LegacySwell();
|
return new LegacySwell();
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ namespace osu.Game.Rulesets.Taiko
|
|||||||
RimHit,
|
RimHit,
|
||||||
DrumRollBody,
|
DrumRollBody,
|
||||||
DrumRollTick,
|
DrumRollTick,
|
||||||
Swell,
|
SwellBody,
|
||||||
SwellCirclePiece,
|
SwellCirclePiece,
|
||||||
HitTarget,
|
HitTarget,
|
||||||
PlayfieldBackgroundLeft,
|
PlayfieldBackgroundLeft,
|
||||||
|
Loading…
Reference in New Issue
Block a user