diff -r f8c25203909abded0db473f5f868982c98104e09 -r 1373ec33131c0b2e2e54c07671bac0764d260719 axios/Engine/AxiosEvents.cs --- a/axios/Engine/AxiosEvents.cs Tue Apr 17 22:07:51 2012 -0500 +++ b/axios/Engine/AxiosEvents.cs Tue Apr 17 22:21:33 2012 -0500 @@ -69,7 +69,7 @@ this.ScaleChanged(gameObject); } - private void OnEvent(AxiosHandler e, AxiosGameScreen gameScreen, InputHelper input) + private void OnEvent(AxiosHandler e, AxiosGameScreen gameScreen, InputState input) { AxiosHandler handle = e; if (handle != null) diff -r f8c25203909abded0db473f5f868982c98104e09 -r 1373ec33131c0b2e2e54c07671bac0764d260719 axios/Engine/AxiosGameScreen.cs --- a/axios/Engine/AxiosGameScreen.cs Tue Apr 17 22:07:51 2012 -0500 +++ b/axios/Engine/AxiosGameScreen.cs Tue Apr 17 22:21:33 2012 -0500 @@ -334,7 +334,7 @@ } } - public override void HandleInput(InputState input, GameTime gameTime) + public override void HandleInput(GameTime gameTime, InputState input) { base.HandleInput(input, gameTime); @@ -345,7 +345,7 @@ g.HandleInput(this, input, gameTime); } - public override void UnloadContent() + public override void Deactivate() { base.UnloadContent(); //AxiosLog.Instance.AddLine("Memory usage before cleanup: " + GC.GetTotalMemory(true).ToString(), LoggingFlag.DEBUG); diff -r f8c25203909abded0db473f5f868982c98104e09 -r 1373ec33131c0b2e2e54c07671bac0764d260719 axios/ScreenSystem/GameScreen.cs --- a/axios/ScreenSystem/GameScreen.cs Tue Apr 17 22:07:51 2012 -0500 +++ b/axios/ScreenSystem/GameScreen.cs Tue Apr 17 22:21:33 2012 -0500 @@ -35,6 +35,7 @@ /// public abstract class GameScreen { + protected bool HasCursor = false; /// /// Normally when one screen is brought up over the top of another, /// the first screen will transition off to make room for the new diff -r f8c25203909abded0db473f5f868982c98104e09 -r 1373ec33131c0b2e2e54c07671bac0764d260719 axios/ScreenSystem/InputHelper.cs --- a/axios/ScreenSystem/InputHelper.cs Tue Apr 17 22:07:51 2012 -0500 +++ b/axios/ScreenSystem/InputHelper.cs Tue Apr 17 22:21:33 2012 -0500 @@ -146,6 +146,7 @@ public void LoadContent() { + _cursorSprite = new Sprite(_manager.Content.Load("Common/cursor")); #if WINDOWS_PHONE // virtual stick content diff -r f8c25203909abded0db473f5f868982c98104e09 -r 1373ec33131c0b2e2e54c07671bac0764d260719 axios/ScreenSystem/LogoScreen.cs --- a/axios/ScreenSystem/LogoScreen.cs Tue Apr 17 22:07:51 2012 -0500 +++ b/axios/ScreenSystem/LogoScreen.cs Tue Apr 17 22:21:33 2012 -0500 @@ -62,8 +62,8 @@ public override void HandleInput(GameTime gameTime, InputState input) { //input. - if (input.KeyboardState.GetPressedKeys().Length > 0 || - input.GamePadState.IsButtonDown(Buttons.A | Buttons.Start | Buttons.Back) || + if (input.CurrentKeyboardStates[0].GetPressedKeys().Length > 0 || + input.CurrentGamePadStates[0].IsButtonDown(Buttons.A | Buttons.Start | Buttons.Back) || input.MouseState.LeftButton == ButtonState.Pressed) { _duration = TimeSpan.Zero; diff -r f8c25203909abded0db473f5f868982c98104e09 -r 1373ec33131c0b2e2e54c07671bac0764d260719 axios/ScreenSystem/MainMenuScreen.cs --- a/axios/ScreenSystem/MainMenuScreen.cs Tue Apr 17 22:07:51 2012 -0500 +++ b/axios/ScreenSystem/MainMenuScreen.cs Tue Apr 17 22:21:33 2012 -0500 @@ -9,6 +9,7 @@ #region Using Statements using Microsoft.Xna.Framework; +using GameStateManagementSample; #endregion namespace GameStateManagement diff -r f8c25203909abded0db473f5f868982c98104e09 -r 1373ec33131c0b2e2e54c07671bac0764d260719 axios/ScreenSystem/PhoneMainMenuScreen.cs --- a/axios/ScreenSystem/PhoneMainMenuScreen.cs Tue Apr 17 22:07:51 2012 -0500 +++ b/axios/ScreenSystem/PhoneMainMenuScreen.cs Tue Apr 17 22:21:33 2012 -0500 @@ -9,6 +9,7 @@ using System; using GameStateManagement; +using GameStateManagementSample; using Microsoft.Xna.Framework; namespace GameStateManagement diff -r f8c25203909abded0db473f5f868982c98104e09 -r 1373ec33131c0b2e2e54c07671bac0764d260719 axios/ScreenSystem/PhysicsGameScreen.cs --- a/axios/ScreenSystem/PhysicsGameScreen.cs Tue Apr 17 22:07:51 2012 -0500 +++ b/axios/ScreenSystem/PhysicsGameScreen.cs Tue Apr 17 22:21:33 2012 -0500 @@ -72,12 +72,13 @@ { if (!Axios.Settings.ScreenSaver) { + ContentManager man = new ContentManager(this.ScreenManager.Game.Services, "Content"); DebugView = new DebugViewXNA(World); DebugView.RemoveFlags(DebugViewFlags.Shape); DebugView.RemoveFlags(DebugViewFlags.Joint); DebugView.DefaultShapeColor = Color.White; DebugView.SleepingShapeColor = Color.LightGray; - DebugView.LoadContent(ScreenManager.GraphicsDevice, ScreenManager.Content); + DebugView.LoadContent(ScreenManager.GraphicsDevice, man); } } diff -r f8c25203909abded0db473f5f868982c98104e09 -r 1373ec33131c0b2e2e54c07671bac0764d260719 axios/ScreenSystem/ScreenManager.cs --- a/axios/ScreenSystem/ScreenManager.cs Tue Apr 17 22:07:51 2012 -0500 +++ b/axios/ScreenSystem/ScreenManager.cs Tue Apr 17 22:21:33 2012 -0500 @@ -18,6 +18,7 @@ using System.IO; using System.IO.IsolatedStorage; using System.Xml.Linq; +using FarseerPhysics.SamplesFramework; #endregion namespace GameStateManagement @@ -37,7 +38,7 @@ List screens = new List(); List tempScreensList = new List(); - InputState input = new InputState(); + InputState input; SpriteBatch spriteBatch; SpriteFont font; @@ -47,11 +48,21 @@ bool traceEnabled; + /// + /// Contains all the fonts avaliable for use. + /// + private SpriteFonts _spriteFonts; + #endregion #region Properties + public SpriteFonts Fonts + { + get { return _spriteFonts; } + } + /// /// A default SpriteBatch shared by all the screens. This saves /// each screen having to bother creating their own local instance. @@ -107,6 +118,7 @@ // we must set EnabledGestures before we can query for them, but // we don't assume the game wants to read them. TouchPanel.EnabledGestures = GestureType.None; + this.input = new InputState(this); }