예제 #1
0
        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;
            }
        }
예제 #2
0
        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();
 }