public void HandleInput( Vector2 touchPoint, GameOrchestrator orchestrator) { if (_rateMeDialog.ShouldShowDialog) { _rateMeDialog.HandleInput(touchPoint); } else { if (_playDrawingInfos.HitBox((int)_playTextSize.X, (int)_playTextSize.Y) .Contains(touchPoint)) { orchestrator.SetGameState(); } else if (_fartDrawingInfos.HitBox((int)_fartTextSize.X, (int)_fartTextSize.Y) .Contains(touchPoint)) { _soundManager.PlayFart(); } else if (_scoreDrawingInfos.HitBox((int)_scoreTextSize.X, (int)_scoreTextSize.Y) .Contains(touchPoint)) { orchestrator.SetScoreState(); } else if (_aboutDrawingInfos.HitBox((int)_aboutTextSize.X, (int)_aboutTextSize.Y) .Contains(touchPoint)) { orchestrator.SetAboutState(); } } }
/// <summary> /// It draws a <see cref="Sprite"/> in a given position /// </summary> /// <param name="spriteBatch"></param> /// <param name="sprite"></param> /// <param name="spatialObject"></param> /// <param name="isDebugModeEnabled">It draws a visible boxing rectangle</param> public static void Draw( this SpriteBatch spriteBatch, Sprite sprite, DrawingInfos spatialObject, bool isDebugModeEnabled = false) { spriteBatch.Draw( sprite.Sheet, spatialObject.Position, sprite.SourceRectangle, spatialObject.OverlayColor, spatialObject.Rotation, spatialObject.Origin, spatialObject.Scale, spatialObject.IsFlipped ? SpriteEffects.FlipHorizontally : SpriteEffects.None, spatialObject.LayerDepth); if (isDebugModeEnabled) { DrawRectangle( spriteBatch, spatialObject.HitBox(sprite.Width, sprite.Height), _hitBoxColor); } }