예제 #1
0
        private static void ReceiveDown(InputSource source, TrackingPoint point)
        {
            //if (PrimaryTrackingPoint == null)
            PrimaryTrackingPoint = point;
            MainPointerPosition  = point.BasePosition;
            TrackingPoints.Add(point);
            TriggerOnDown(source, point);

            /*pDrawable d = osum.Graphics.Sprites.pSprite.FullscreenWhitePixel;
             * d.FadeOutFromOne(200);
             * GameBase.MainSpriteManager.Add(d);
             * AudioEngine.PlaySample(OsuSamples.HitClap,SampleSet.Soft);*/
        }
예제 #2
0
 private static void TriggerOnMove(InputSource source, TrackingPoint point)
 {
     if (OnMove != null && !GameBase.GloballyDisableInput)
     {
         if (GameBase.ActiveNotification != null)
         {
             GameBase.ActiveNotification.HandleOnMove(source, point);
         }
         else
         {
             OnMove(source, point);
         }
     }
 }
예제 #3
0
        private static void ReceiveMove(InputSource source, TrackingPoint point)
        {
#if MONO
            if (PrimaryTrackingPoint == null)
            {
                PrimaryTrackingPoint = point;
            }
#endif
            if (PrimaryTrackingPoint == point)
            {
                MainPointerPosition = point.BasePosition;
            }
            TriggerOnMove(source, point);
        }
예제 #4
0
        private static void TriggerOnDown(InputSource source, TrackingPoint point)
        {
            point.IncreaseValidity();

            if (OnDown != null && !GameBase.GloballyDisableInput)
            {
                if (GameBase.ActiveNotification != null)
                {
                    GameBase.ActiveNotification.HandleOnDown(source, point);
                }
                else
                {
                    OnDown(source, point);
                }
            }
        }
예제 #5
0
        private static void TriggerOnUp(InputSource source, TrackingPoint point)
        {
            //tracking is no longer valid.
            point.DecreaseValidity();

            if (OnUp != null && !GameBase.GloballyDisableInput)
            {
                if (GameBase.ActiveNotification != null)
                {
                    GameBase.ActiveNotification.HandleOnUp(source, point);
                }
                else
                {
                    OnUp(source, point);
                }
            }
        }
예제 #6
0
        private static void ReceiveUp(InputSource source, TrackingPoint point)
        {
            TrackingPoints.Remove(point);

            if (PrimaryTrackingPoint == point)
            {
                PrimaryTrackingPoint = null;

                //find the next valid tracking point.
                foreach (TrackingPoint p in TrackingPoints)
                {
                    if (p != point && p.Valid)
                    {
                        PrimaryTrackingPoint = p;
                        MainPointerPosition  = point.BasePosition;
                        break;
                    }
                }
            }

            TriggerOnUp(source, point);
        }