/// <summary>
        /// A constructor with Network disabled
        /// </summary>
        public Engine(EngineConfiguration configuration)
        {
            Screens = new List<Screen>();
            IsMouseVisible = true;
            IsFixedTimeStep = configuration.EnableFixedTimeStep;

            _graphics = new GraphicsDeviceManager(this)
                            {
                                PreferredBackBufferWidth = configuration.PreferredBackBufferWidth,
                                PreferredBackBufferHeight = configuration.PreferredBackBufferHeight,
                                IsFullScreen = configuration.EnableFullScreen,
                                SynchronizeWithVerticalRetrace = configuration.EnableVerticalSync,
                                SupportedOrientations = configuration.SupportedOrientations
                            };
            _graphics.DeviceReset += OnGraphicsComponentDeviceReset;

            TargetElapsedTime = TimeSpan.FromTicks(TimeSpan.TicksPerSecond / configuration.TargetFrameRate);

            Content.RootDirectory = configuration.ContentDirectory;

            NetworkManager = new NetworkManager(configuration.ServerUrl);
            FpsCounter = new FPSCounter();
            AssetsManager = new AssetsManager(Content)
                                {
                                    HighRes = configuration.EnableHighQualityContent
                                };

            ScreenBounds = new Rectangle(0, 0, _graphics.PreferredBackBufferWidth, _graphics.PreferredBackBufferHeight); // This is used by the screens to get the size for the default rendertarget

            _configuration = configuration;
        }
        /// <summary>
        /// A constructor with Network disabled
        /// </summary>
        public ScreenManager(Game game, GraphicsDeviceManager graphics)
            : base(game)
        {
            NetworkEnabled = false;

            AssetsManager = new AssetsManager(Game.Content);
            Graphics = graphics;
            _fpsCounter = new FPSCounter();
        }
        /// <summary>
        /// A constructor with Network enabled
        /// </summary>
        public ScreenManager(Game game, GraphicsDeviceManager graphics, string Server_ip, int Port, string UserName, string Password)
            : base(game)
        {
            NetworkEnabled = true;
            NetworkManager = new NetworkManager(Server_ip, Port, UserName, Password);

            AssetsManager = new AssetsManager(Game.Content);
            Graphics = graphics;
            _fpsCounter = new FPSCounter();
        }