public GameContext(Microsoft.Xna.Framework.Game game, SpriteBatch spriteBatch, IScreenSizeManager screenSizeManager, IGameAudioManager gameAudioManager) { _game = game ?? throw new ArgumentNullException(nameof(game)); if (spriteBatch == null) { throw new ArgumentNullException(nameof(spriteBatch)); } if (screenSizeManager == null) { throw new ArgumentNullException(nameof(screenSizeManager)); } GameGraphics = new GameGraphics(spriteBatch, screenSizeManager, new TrackingCamera2D(this) { Zoom = 1f }); GameAudio = gameAudioManager ?? throw new ArgumentNullException(nameof(gameAudioManager)); Random = new Random(); AssetManager = new AssetManager(_game); StateMachine = new GameStateMachine(); MenuFactory = new MenuFactory(this); CollisionSystem = new BasicCollisionSystem(); NotificationMediator = new NotificationMediator(); }
public GameGraphics(SpriteBatch spriteBatch, IScreenSizeManager screenSizeManager, ITrackingCamera playableCamera) { _spriteBatch = spriteBatch ?? throw new ArgumentNullException(nameof(spriteBatch)); _screenSizeManager = screenSizeManager ?? throw new ArgumentNullException(nameof(screenSizeManager)); PlayableCamera = playableCamera ?? throw new ArgumentNullException(nameof(playableCamera)); }