Skip to content

Commit

Permalink
add tickle effect in the adjust time-tag mode.
Browse files Browse the repository at this point in the history
  • Loading branch information
andy840119 committed Feb 21, 2022
1 parent cca938b commit b5dfe67
Showing 1 changed file with 22 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@
using osu.Game.Rulesets.Karaoke.Graphics.Shapes;
using osu.Game.Rulesets.Karaoke.Objects;
using osu.Game.Rulesets.Karaoke.Utils;
using osu.Game.Screens.Edit;
using osuTK;
using osuTK.Graphics;

namespace osu.Game.Rulesets.Karaoke.Edit.Lyrics.Rows.Extends.TimeTags
{
Expand Down Expand Up @@ -81,11 +83,14 @@ public TimeTagEditorHitObjectBlueprint(TimeTag item)
}

[BackgroundDependencyLoader]
private void load(TimeTagEditor timeline, OsuColour colours)
private void load(EditorClock clock, TimeTagEditor timeline, OsuColour colours)
{
// todo : should be able to let user able to select show from ruby or main text.
timeTagText.Text = LyricUtils.GetTimeTagDisplayRubyText(timeline.HitObject, Item);

timeTagPiece.Clock = clock;
timeTagPiece.Colour = colours.BlueLight;

timeTagWithNoTimePiece.Colour = colours.Red;
startTime.BindValueChanged(_ =>
{
Expand All @@ -105,10 +110,22 @@ private void load(TimeTagEditor timeline, OsuColour colours)
break;
}

// should wait until all time-tag time has been modified.
Schedule(() =>
{
// should wait until all time-tag time has been modified.
X = (float)timeline.GetPreviewTime(Item);
double previewTime = timeline.GetPreviewTime(Item);

// adjust position.
X = (float)previewTime;

// make tickle effect.
timeTagPiece.ClearTransforms();

using (timeTagPiece.BeginAbsoluteSequence(previewTime))
{
timeTagPiece.Colour = colours.BlueLight;
timeTagPiece.FlashColour(colours.PurpleDark, 750, Easing.OutQuint);
}
});
}, true);
}
Expand Down Expand Up @@ -180,6 +197,8 @@ public TimeTagPiece(TimeTag timeTag)
throw new ArgumentOutOfRangeException(nameof(timeTag.Index.State));
}
}

public override bool RemoveCompletedTransforms => false;
}

public class TimeTagWithNoTimePiece : CompositeDrawable
Expand Down

0 comments on commit b5dfe67

Please sign in to comment.