Exemplo n.º 1
0
        public BackBufferSize GetSize(GraphicsDevice graphicsDevice)
        {
            if (_backBufferSize == null)
            {
                // Make synchronous request to get information.
                var response = _gameHosterClient.GetBackBufferDimensions(new GetBackBufferDimensionsRequest());
                _backBufferSize = new BackBufferSize(response.Width, response.Height);
            }

            if (_backBufferSizeUpdater == null || _backBufferSizeUpdater.IsCompleted)
            {
                _backBufferSizeUpdater = Task.Run(async() =>
                {
                    var response    = await _gameHosterClient.GetBackBufferDimensionsAsync(new GetBackBufferDimensionsRequest());
                    _backBufferSize = new BackBufferSize(response.Width, response.Height);

                    await Task.Delay(1000);
                });
            }

            return(_backBufferSize.Value);
        }