public Player(Game game, ref Texture2D theTexture, Vector2 initialPosition, Rectangle rectangle, params IController[] controllers) : base(game) { _texture = theTexture; _initialPosition = initialPosition; _position = initialPosition; _controllers = controllers; KeepInBound(); _spriteRectangle = rectangle; var screenBounds = game.GetScreenBounds(); if (screenBounds.Width == 0) throw new ArgumentOutOfRangeException("Screen Bounds"); if (_spriteRectangle.Width < 1) throw new ArgumentOutOfRangeException("Player sprite"); if (screenBounds.Width < _spriteRectangle.Width) throw new ArgumentOutOfRangeException("ScreenBounds or PlayerSprite"); }