#region File Description
//-----------------------------------------------------------------------------
// CatapultGame.cs
//
// Microsoft XNA Community Game Platform
// Copyright (C) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
#endregion
#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Input.Touch;
using Microsoft.Xna.Framework.Media;
using Microsoft.Xna.Framework.Net;
using GameStateManagement;
#endregion
namespace CatapultGame
{
///
/// This is the main type for your game
///
public class CatapultGame : Game
{
#region Fields
GraphicsDeviceManager graphics;
ScreenManager screenManager;
// By preloading any assets used by UI rendering, we avoid framerate glitches
// when they suddenly need to be loaded in the middle of a menu transition.
static readonly string[] preloadAssets =
{
"gradient",
"cat",
"chat_ready",
"chat_able",
"chat_talking",
"chat_mute",
};
#endregion
#region Initialization Methods
public CatapultGame ()
{
graphics = new GraphicsDeviceManager (this);
//graphics.SynchronizeWithVerticalRetrace = false;
Content.RootDirectory = "Content";
// Frame rate is 30 fps by default for Windows Phone.
TargetElapsedTime = TimeSpan.FromTicks (333333);
//Create a new instance of the Screen Manager
screenManager = new ScreenManager (this);
Components.Add (screenManager);
Components.Add (new MessageDisplayComponent (this));
Components.Add (new GamerServicesComponent (this));
//Add two new screens
screenManager.AddScreen (new BackgroundScreen (), null);
screenManager.AddScreen (new MainMenuScreen (), null);
// Listen for invite notification events.
NetworkSession.InviteAccepted += (sender, e) => NetworkSessionComponent.InviteAccepted (screenManager, e);
IsMouseVisible = true;
#if !WINDOWS && !XBOX && !MONOMAC && !LINUX
//Switch to full screen for best game experience
graphics.IsFullScreen = true;
#else
graphics.PreferredBackBufferHeight = 480;
graphics.PreferredBackBufferWidth = 800;
#endif
AudioManager.Initialize (this);
}
///
/// Allows the game to perform any initialization it needs to before starting to run.
/// This is where it can query for any required services and load any non-graphic
/// related content. Calling base.Initialize will enumerate through any components
/// and initialize them as well.
///
protected override void Initialize ()
{
base.Initialize ();
}
#endregion
#region Loading
protected override void LoadContent ()
{
AudioManager.LoadSounds ();
base.LoadContent ();
}
#endregion
}
}