Adding empty AxiosCommandConsole to not require #if WINDOWS/#endif precompiler

statments on WP7/Xbox 360
Adjusting code in AxiosGameScreen to accept it on WP7/Xbox 360 but just store it

--HG--
branch : xnacc-integration
This commit is contained in:
Nathan Adams 2012-05-26 19:08:33 -05:00
parent 11ab45d9ee
commit 56f2b95e72
2 changed files with 47 additions and 5 deletions

View File

@ -5,6 +5,18 @@ using System.Linq;
using System.Text; using System.Text;
using XNACC.Console; using XNACC.Console;
using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework;
/*
* The empty AxiosCommandConsole is so that when you use the comamnd console
* in your game you don't need #if WINDOWS/#endif precompiler - when you attempt
* to use it on WP7/Xbox 360 it just won't do anything.
*
* Perhaps one day we should develop a customized console that doesn't require keyboard input
* to still allow debugging on WP7/Xbox 360
* -- Nathan Adams [adamsna@datanethost.net] - 5/26/2012
*/
namespace Axios.Engine namespace Axios.Engine
{ {
@ -21,6 +33,37 @@ namespace Axios.Engine
{ {
Keyboard = gameScreen.ScreenManager.InputState; Keyboard = gameScreen.ScreenManager.InputState;
} }
protected override void LoadContent()
{
FadeColor = Color.White * 0.5f;
Texture2D tmp = new Texture2D(GraphicsDevice, 1, 1);
tmp.SetData<Color>(new Color[] { Color.Black });
FadeImage = tmp;
base.LoadContent();
}
}
}
#else
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework.Graphics;
namespace Axios.Engine
{
class AxiosCommandConsole
{
public AxiosCommandConsole(AxiosGameScreen gameScreen)
{
}
public AxiosCommandConsole(AxiosGameScreen gameScreen, SpriteFont font)
{
}
} }
} }
#endif #endif

View File

@ -41,9 +41,7 @@ namespace Axios.Engine
private Camera camera; private Camera camera;
#if WINDOWS
AxiosCommandConsole _console = null; AxiosCommandConsole _console = null;
#endif
public AxiosGameScreen() public AxiosGameScreen()
: base() : base()
@ -98,21 +96,22 @@ namespace Axios.Engine
public void AddGameObject(object obj) public void AddGameObject(object obj)
{ {
#if WINDOWS
if (obj is AxiosCommandConsole) if (obj is AxiosCommandConsole)
{ {
if (_console != null) if (_console != null)
{ {
//remove the current one first //remove the current one first
#if WINDOWS
ScreenManager.Game.Components.Remove(_console); ScreenManager.Game.Components.Remove(_console);
_console.Dispose(); _console.Dispose();
#endif
_console = null; _console = null;
} }
_console = (AxiosCommandConsole)obj; _console = (AxiosCommandConsole)obj;
#if WINDOWS
ScreenManager.Game.Components.Add(_console); ScreenManager.Game.Components.Add(_console);
}
#endif #endif
}
if (obj is AxiosGameObject || obj is AxiosUIObject || obj is AxiosTimer) if (obj is AxiosGameObject || obj is AxiosUIObject || obj is AxiosTimer)
{ {
AxiosGameObject tmp = obj as AxiosGameObject; AxiosGameObject tmp = obj as AxiosGameObject;