More changes in-line with framework changes.

This commit is contained in:
Dean Herbert
2017-07-10 07:01:25 +09:00
parent f856e89b58
commit 0e2dc9388a
15 changed files with 68 additions and 98 deletions

View File

@ -89,11 +89,15 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables
{
base.UpdateInitialState();
//sane defaults
ring.Alpha = circle.Alpha = number.Alpha = glow.Alpha = 1;
ApproachCircle.Alpha = 0;
ApproachCircle.Scale = new Vector2(4);
explode.Alpha = 0;
// sane defaults
ring.Show();
circle.Show();
number.Show();
glow.Show();
ApproachCircle.Hide();
ApproachCircle.ScaleTo(new Vector2(4));
explode.Hide();
}
protected override void UpdatePreemptState()
@ -106,43 +110,45 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables
protected override void UpdateCurrentState(ArmedState state)
{
ApproachCircle.FadeOut();
double duration = ((HitObject as IHasEndTime)?.EndTime ?? HitObject.StartTime) - HitObject.StartTime;
double endTime = (HitObject as IHasEndTime)?.EndTime ?? HitObject.StartTime;
double duration = endTime - HitObject.StartTime;
glow.Delay(duration);
glow.FadeOut(400);
using (glow.BeginDelayedSequence(duration))
glow.FadeOut(400);
switch (state)
{
case ArmedState.Idle:
Delay(duration + TIME_PREEMPT);
FadeOut(TIME_FADEOUT);
using (BeginDelayedSequence(duration + TIME_PREEMPT))
FadeOut(TIME_FADEOUT);
Expire(true);
break;
case ArmedState.Miss:
ApproachCircle.FadeOut(50);
FadeOut(TIME_FADEOUT / 5);
Expire();
break;
case ArmedState.Hit:
ApproachCircle.FadeOut(50);
const double flash_in = 40;
flash.FadeTo(0.8f, flash_in);
flash.Delay(flash_in);
flash.FadeOut(100);
using (flash.BeginDelayedSequence(flash_in))
flash.FadeOut(100);
explode.FadeIn(flash_in);
Delay(flash_in, true);
using (BeginDelayedSequence(flash_in, true))
{
//after the flash, we can hide some elements that were behind it
ring.FadeOut();
circle.FadeOut();
number.FadeOut();
//after the flash, we can hide some elements that were behind it
ring.FadeOut();
circle.FadeOut();
number.FadeOut();
FadeOut(800);
ScaleTo(Scale * 1.5f, 400, EasingTypes.OutQuad);
}
FadeOut(800);
ScaleTo(Scale * 1.5f, 400, EasingTypes.OutQuad);
Expire();
break;
}

View File

@ -17,6 +17,7 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables
: base(hitObject)
{
AccentColour = HitObject.ComboColour;
Alpha = 0;
}
protected override OsuJudgement CreateJudgement() => new OsuJudgement { MaxScore = OsuScoreResult.Hit300 };
@ -25,10 +26,10 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables
{
Flush();
UpdateInitialState();
using (BeginAbsoluteSequence(HitObject.StartTime - TIME_PREEMPT, true))
{
UpdateInitialState();
UpdatePreemptState();
using (BeginDelayedSequence(TIME_PREEMPT + Judgement.TimeOffset, true))
@ -36,8 +37,9 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables
}
}
protected virtual void UpdateCurrentState(ArmedState state)
protected virtual void UpdateInitialState()
{
Hide();
}
protected virtual void UpdatePreemptState()
@ -45,9 +47,8 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables
FadeIn(TIME_FADEIN);
}
protected virtual void UpdateInitialState()
protected virtual void UpdateCurrentState(ArmedState state)
{
Alpha = 0;
}
}