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); }
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); }
public virtual bool WasClickedThisFrame(FlatRedBall.Gui.Cursor cursor) { return(cursor.PrimaryClick && HasCursorOver(cursor)); }