public void ResizeGraphicsDeviceManager(GraphicsDeviceManager manager, int width, int height, int additionalWidth, int additionalHeight)
{
int oldWidth = manager.PreferredBackBufferWidth;
int oldHeight = manager.PreferredBackBufferHeight;
manager.PreferredBackBufferWidth = (Size.X * width) + additionalWidth;
manager.PreferredBackBufferHeight = (Size.Y * height) + additionalHeight;
Engine.WindowWidth = manager.PreferredBackBufferWidth;
Engine.WindowHeight = manager.PreferredBackBufferHeight;
int diffWidth = (Engine.WindowWidth - oldWidth) / 2;
int diffHeight = (Engine.WindowHeight - oldHeight) / 2;
if (Engine.MonoGameInstance != null)
Engine.MonoGameInstance.Window.Position = new Point(Engine.MonoGameInstance.Window.Position.X - diffWidth, Engine.MonoGameInstance.Window.Position.Y - diffHeight);
manager.ApplyChanges();
}