internal override void HandleOnUp(InputSource source, TrackingPoint trackingPoint) { base.HandleOnUp(source, trackingPoint); if (tp != null) { bool success = (minimumHitPossible && dist < hit_minimum_distance) || (dist > hit_pull_distance); Transformations.Clear(); if (success) { RotateTo(defaultRotation, 200, EasingTypes.In); Transform(new TransformationV(Position, fullyVisiblePosition, Clock.ModeTime, Clock.ModeTime + 150, EasingTypes.In)); Transform(new TransformationV(fullyVisiblePosition, hiddenPosition, Clock.ModeTime + 150, Clock.ModeTime + 400, EasingTypes.Out)); FadeColour(Color4.White, 0); AudioEngine.PlaySample(OsuSamples.MenuBack); Action(this, null); } else { MoveTo(hiddenPosition, 200, EasingTypes.InDouble); RotateTo(defaultRotation, 200, EasingTypes.In); FadeColour(Color4.White, 200); } tp = null; } }
public void Dispose() { if (!_disposed) { // remove reference to callbacks OnSuccess = (w, h) => {}; OnError = (e) => {}; OnFinish = (sw) => {}; // clear transformations list if (Transformations != null) { Transformations.Clear(); Transformations = null; } _disposed = true; } }
public void ClearTransformations() { Transformations.Clear(); DelayReset(); }