Updating support for XNACC
Note: It is only for Windows currently --HG-- branch : xnacc-integration
This commit is contained in:
parent
1c897e7530
commit
e9e97dae39
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<ProjectView>ShowAllFiles</ProjectView>
|
||||
<ProjectView>ProjectFiles</ProjectView>
|
||||
</PropertyGroup>
|
||||
</Project>
|
@ -91,6 +91,7 @@
|
||||
* - Fixing bug where loadrecentangleitem wouldn't be called by Gleed2D library
|
||||
* - Changing AxiosTitleFile.GetStream() to return Stream instead of FileStream
|
||||
* - Changing IAxiosFile.GetStream() to return Stream instead of FileStream
|
||||
* - Adding support for XNACC
|
||||
*
|
||||
*/
|
||||
#endregion
|
||||
|
@ -15,6 +15,11 @@ using Microsoft.Xna.Framework.Input.Touch;
|
||||
using FarseerPhysics.SamplesFramework;
|
||||
using Microsoft.Xna.Framework.Graphics;
|
||||
using System;
|
||||
#if WINDOWS
|
||||
using XNACC.BaseTypes;
|
||||
#endif
|
||||
using System.Linq;
|
||||
|
||||
|
||||
namespace GameStateManagement
|
||||
{
|
||||
@ -37,8 +42,46 @@ namespace GameStateManagement
|
||||
/// query methods for high level input actions such as "move up through the menu"
|
||||
/// or "pause the game".
|
||||
/// </summary>
|
||||
#if WINDOWS
|
||||
public class InputState : IConsoleKeyboard
|
||||
#else
|
||||
public class InputState
|
||||
#endif
|
||||
{
|
||||
|
||||
#if WINDOWS
|
||||
#region XNACC
|
||||
/*
|
||||
* These are needed for XNACC
|
||||
* -- Nathan Adams [adamsna@datanethost.net] - 5/26/2012
|
||||
*/
|
||||
|
||||
private KeyboardState KeyState;
|
||||
private List<Keys> newlyPressedKeys = new List<Keys>();
|
||||
private List<Keys> heldKeys = new List<Keys>();
|
||||
private Keys[] oldPressedKeys;
|
||||
private Keys[] newPressedKeys;
|
||||
|
||||
public KeyboardState CurrentKeyboardState
|
||||
{
|
||||
get { return KeyState; }
|
||||
}
|
||||
|
||||
public IList<Keys> NewlyPressedKeys
|
||||
{
|
||||
get { return newlyPressedKeys; }
|
||||
}
|
||||
|
||||
public IList<Keys> HeldKeys
|
||||
{
|
||||
get { return heldKeys; }
|
||||
}
|
||||
|
||||
/*
|
||||
* End XNACC variables
|
||||
*/
|
||||
#endregion
|
||||
#endif
|
||||
public const int MaxInputs = 4;
|
||||
|
||||
public readonly KeyboardState[] CurrentKeyboardStates;
|
||||
@ -270,6 +313,27 @@ namespace GameStateManagement
|
||||
/// </summary>
|
||||
public void Update(GameTime gameTime)
|
||||
{
|
||||
|
||||
#if WINDOWS
|
||||
#region XNACC
|
||||
KeyState = Keyboard.GetState();
|
||||
|
||||
oldPressedKeys = newPressedKeys;
|
||||
newPressedKeys = KeyState.GetPressedKeys();
|
||||
|
||||
newlyPressedKeys.Clear();
|
||||
heldKeys.Clear();
|
||||
|
||||
foreach (Keys key in newPressedKeys)
|
||||
{
|
||||
if (oldPressedKeys.Contains(key))
|
||||
heldKeys.Add(key);
|
||||
else
|
||||
newlyPressedKeys.Add(key);
|
||||
}
|
||||
#endregion
|
||||
#endif
|
||||
|
||||
//PlayerIndex p;
|
||||
_lastMouseState = _currentMouseState;
|
||||
if (_handleVirtualStick)
|
||||
|
@ -11,7 +11,7 @@ using System.Threading;
|
||||
using System.IO;
|
||||
using System.ComponentModel;
|
||||
using System.Reflection;
|
||||
using JRTS.XNA.Console.BaseTypes;
|
||||
using XNACC.BaseTypes;
|
||||
using System.Diagnostics;
|
||||
#endif
|
||||
#endregion
|
||||
@ -71,7 +71,7 @@ using System.Diagnostics;
|
||||
//NA: Seriously Microsoft?
|
||||
#if WINDOWS
|
||||
/// <summary>Namespace that contains code related to the XNACC (CommandConsole) component</summary>
|
||||
namespace JRTS.XNA.Console
|
||||
namespace XNACC.Console
|
||||
{
|
||||
/// <summary>Base functionality of the XNACC (CommandConsole) component</summary>
|
||||
public class CommandConsoleBase : DrawableGameComponent
|
||||
|
@ -6,7 +6,7 @@ using Microsoft.Xna.Framework.Input;
|
||||
|
||||
#if WINDOWS
|
||||
/// <summary>Namespace that contains shared types related to the XNACC (CommandConsole) component</summary>
|
||||
namespace JRTS.XNA.Console.BaseTypes
|
||||
namespace XNACC.BaseTypes
|
||||
{
|
||||
#region IConsoleKeyboard
|
||||
/// <summary>Basic keyboard/input functionality required by the CommandConsole(Base) class</summary>
|
||||
|
Loading…
Reference in New Issue
Block a user