using System; using Microsoft.Xna.Framework; namespace FarseerPhysics.SamplesFramework { /// /// This is the main type for your game /// public class FarseerPhysicsGame : Game { private GraphicsDeviceManager _graphics; public FarseerPhysicsGame() { Window.Title = "Farseer Samples Framework"; _graphics = new GraphicsDeviceManager(this); _graphics.PreferMultiSampling = true; #if DESKTOP || XBOX _graphics.PreferredBackBufferWidth = 1280; _graphics.PreferredBackBufferHeight = 720; ConvertUnits.SetDisplayUnitToSimUnitRatio(24f); IsFixedTimeStep = true; #elif WINDOWS_PHONE _graphics.PreferredBackBufferWidth = 800; _graphics.PreferredBackBufferHeight = 480; ConvertUnits.SetDisplayUnitToSimUnitRatio(16f); IsFixedTimeStep = false; #endif #if DESKTOP _graphics.IsFullScreen = false; #elif XBOX || WINDOWS_PHONE _graphics.IsFullScreen = true; #endif Content.RootDirectory = "Content"; //new-up components and add to Game.Components ScreenManager = new ScreenManager(this); Components.Add(ScreenManager); FrameRateCounter frameRateCounter = new FrameRateCounter(ScreenManager); frameRateCounter.DrawOrder = 101; Components.Add(frameRateCounter); } public ScreenManager ScreenManager { get; set; } /// /// 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(); SimpleDemo1 simple1 = new SimpleDemo1(); SimpleDemo2 simple2 = new SimpleDemo2(); SimpleDemo3 simple3 = new SimpleDemo3(); SimpleDemo4 simple4 = new SimpleDemo4(); SimpleDemo5 simple5 = new SimpleDemo5(); SimpleDemo6 simple6 = new SimpleDemo6(); SimpleDemo7 simple7 = new SimpleDemo7(); SimpleDemo8 simple8 = new SimpleDemo8(); SimpleDemo9 simple9 = new SimpleDemo9(); AdvancedDemo1 advanced1 = new AdvancedDemo1(); AdvancedDemo2 advanced2 = new AdvancedDemo2(); AdvancedDemo3 advanced3 = new AdvancedDemo3(); AdvancedDemo4 advanced4 = new AdvancedDemo4(); AdvancedDemo5 advanced5 = new AdvancedDemo5(); GameDemo1 game1 = new GameDemo1(); MenuScreen menuScreen = new MenuScreen("Farseer Samples"); menuScreen.AddMenuItem("Simple Samples", EntryType.Separator, null); menuScreen.AddMenuItem(simple1.GetTitle(), EntryType.Screen, simple1); menuScreen.AddMenuItem(simple2.GetTitle(), EntryType.Screen, simple2); menuScreen.AddMenuItem(simple3.GetTitle(), EntryType.Screen, simple3); menuScreen.AddMenuItem(simple4.GetTitle(), EntryType.Screen, simple4); menuScreen.AddMenuItem(simple5.GetTitle(), EntryType.Screen, simple5); menuScreen.AddMenuItem(simple6.GetTitle(), EntryType.Screen, simple6); menuScreen.AddMenuItem(simple7.GetTitle(), EntryType.Screen, simple7); menuScreen.AddMenuItem(simple8.GetTitle(), EntryType.Screen, simple8); menuScreen.AddMenuItem(simple9.GetTitle(), EntryType.Screen, simple9); menuScreen.AddMenuItem("Advanced Samples", EntryType.Separator, null); menuScreen.AddMenuItem(advanced1.GetTitle(), EntryType.Screen, advanced1); menuScreen.AddMenuItem(advanced2.GetTitle(), EntryType.Screen, advanced2); menuScreen.AddMenuItem(advanced3.GetTitle(), EntryType.Screen, advanced3); menuScreen.AddMenuItem(advanced4.GetTitle(), EntryType.Screen, advanced4); menuScreen.AddMenuItem(advanced5.GetTitle(), EntryType.Screen, advanced5); menuScreen.AddMenuItem("Game Samples", EntryType.Separator, null); menuScreen.AddMenuItem(game1.GetTitle(), EntryType.Screen, game1); menuScreen.AddMenuItem("", EntryType.Separator, null); menuScreen.AddMenuItem("Exit", EntryType.ExitItem, null); ScreenManager.AddScreen(new BackgroundScreen()); ScreenManager.AddScreen(menuScreen); ScreenManager.AddScreen(new LogoScreen(TimeSpan.FromSeconds(3.0))); } } }