#region File Description
//-----------------------------------------------------------------------------
// Game.cs
//
// Microsoft XNA Community Game Platform
// Copyright (C) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
#endregion
#region Using Statements
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
#endregion
namespace GameStateManagement
{
///
/// Sample showing how to manage different game states, with transitions
/// between menu screens, a loading screen, the game itself, and a pause
/// menu. This main game class is extremely simple: all the interesting
/// stuff happens in the ScreenManager component.
///
public class GameStateManagementGame : Game
{
#region Fields
GraphicsDeviceManager graphics;
ScreenManager screenManager;
#if ZUNE
int BufferWidth = 272;
int BufferHeight = 480;
#elif IPHONE
int BufferWidth = 320;
int BufferHeight = 480;
#else
int BufferWidth = 272;
int BufferHeight = 480;
#endif
#endregion
#region Initialization
///
/// The main game constructor.
///
public GameStateManagementGame()
{
Content.RootDirectory = "Content";
graphics = new GraphicsDeviceManager(this);
graphics.PreferredBackBufferWidth = BufferWidth;
graphics.PreferredBackBufferHeight = BufferHeight;
// Create the screen manager component.
screenManager = new ScreenManager(this);
Components.Add(screenManager);
// Activate the first screens.
screenManager.AddScreen(new BackgroundScreen(), null);
screenManager.AddScreen(new MainMenuScreen(), null);
}
#endregion
#region Draw
///
/// This is called when the game should draw itself.
///
protected override void Draw(GameTime gameTime)
{
graphics.GraphicsDevice.Clear(Color.Black);
// The real drawing happens inside the screen manager component.
base.Draw(gameTime);
}
#endregion
}
}