Пример #1
0
 public virtual bool HasCursorOver(FlatRedBall.Gui.Cursor cursor)
 {
     if (mIsPaused)
     {
         return(false);
     }
     if (!AbsoluteVisible)
     {
         return(false);
     }
     if (LayerProvidedByContainer != null && LayerProvidedByContainer.Visible == false)
     {
         return(false);
     }
     if (!cursor.IsOn(LayerProvidedByContainer))
     {
         return(false);
     }
     if (IconSprite.Alpha != 0 && IconSprite.AbsoluteVisible && cursor.IsOn3D(IconSprite, LayerProvidedByContainer))
     {
         return(true);
     }
     if (HighlightSprite.Alpha != 0 && HighlightSprite.AbsoluteVisible && cursor.IsOn3D(HighlightSprite, LayerProvidedByContainer))
     {
         return(true);
     }
     return(false);
 }
Пример #2
0
        public virtual void TestCollision(FlatRedBall.Gui.Cursor cursor)
        {
            if (HasCursorOver(cursor))
            {
                cursor.WindowOver = this;

                if (cursor.PrimaryPush)
                {
                    cursor.WindowPushed = this;

                    if (Push != null)
                    {
                        Push(this);
                    }


                    cursor.GrabWindow(this);
                }

                if (cursor.PrimaryClick) // both pushing and clicking can occur in one frame because of buffered input
                {
                    if (cursor.WindowPushed == this)
                    {
                        if (Click != null)
                        {
                            Click(this);
                        }
                        if (cursor.PrimaryClickNoSlide && ClickNoSlide != null)
                        {
                            ClickNoSlide(this);
                        }

                        // if (cursor.PrimaryDoubleClick && DoubleClick != null)
                        //   DoubleClick(this);
                    }
                    else
                    {
                        if (SlideOnClick != null)
                        {
                            SlideOnClick(this);
                        }
                    }
                }
            }
        }
 public virtual bool HasCursorOver(FlatRedBall.Gui.Cursor cursor)
 {
     if (mIsPaused)
     {
         return(false);
     }
     if (!AbsoluteVisible)
     {
         return(false);
     }
     if (LayerProvidedByContainer != null && LayerProvidedByContainer.Visible == false)
     {
         return(false);
     }
     if (!cursor.IsOn(LayerProvidedByContainer))
     {
         return(false);
     }
     if (VictoryTextLabel.HasCursorOver(cursor))
     {
         return(true);
     }
     if (PlayAgainText.HasCursorOver(cursor))
     {
         return(true);
     }
     if (NoButton.HasCursorOver(cursor))
     {
         return(true);
     }
     if (YesButton.HasCursorOver(cursor))
     {
         return(true);
     }
     if (BackgroundSprite.Alpha != 0 && BackgroundSprite.AbsoluteVisible && cursor.IsOn3D(BackgroundSprite, LayerProvidedByContainer))
     {
         return(true);
     }
     return(false);
 }
Пример #4
0
 public virtual bool WasClickedThisFrame(FlatRedBall.Gui.Cursor cursor)
 {
     return(cursor.PrimaryClick && HasCursorOver(cursor));
 }