- Refactored the AddIn-System to allow merged assemblies (for metro, android, etc. later on) - Added empty PsVita Sound and Media System modules - Fixed 2 small missing excludes in the build script - Cleaned the License headers in the shader files - Some other refactorings
124 lines
2.4 KiB
C#
124 lines
2.4 KiB
C#
using ANX.Framework.NonXNA;
|
|
|
|
// This file is part of the ANX.Framework created by the
|
|
// "ANX.Framework developer group" and released under the Ms-PL license.
|
|
// For details see: http://anxframework.codeplex.com/license
|
|
|
|
namespace ANX.InputSystem.Standard
|
|
{
|
|
public class Creator : IInputSystemCreator
|
|
{
|
|
private IKeyboard keyboard;
|
|
private IMouse mouse;
|
|
private IGamePad gamePad;
|
|
private ITouchPanel touchPanel;
|
|
|
|
public string Name
|
|
{
|
|
get
|
|
{
|
|
return "Standard";
|
|
}
|
|
}
|
|
|
|
public int Priority
|
|
{
|
|
get
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
public bool IsSupported
|
|
{
|
|
get
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
|
|
public ITouchPanel TouchPanel
|
|
{
|
|
get
|
|
{
|
|
if (touchPanel == null)
|
|
{
|
|
Logger.Info("Creating a new TouchPanel device.");
|
|
PreventSystemChange();
|
|
touchPanel = InputDeviceFactory.Instance.GetDefaultTouchPanel();
|
|
}
|
|
|
|
return touchPanel;
|
|
}
|
|
}
|
|
|
|
public IGamePad GamePad
|
|
{
|
|
get
|
|
{
|
|
if (gamePad == null)
|
|
{
|
|
Logger.Info("Creating a new GamePad device.");
|
|
PreventSystemChange();
|
|
gamePad = InputDeviceFactory.Instance.CreateDefaultGamePad();
|
|
}
|
|
|
|
return gamePad;
|
|
}
|
|
}
|
|
|
|
public IMouse Mouse
|
|
{
|
|
get
|
|
{
|
|
if (mouse == null)
|
|
{
|
|
mouse = InputDeviceFactory.Instance.CreateDefaultMouse();
|
|
if (mouse == null)
|
|
throw new NoInputDeviceException("Couldn't find a default mouse device creator. Unable to create a mouse instance.");
|
|
|
|
Logger.Info("created a new Mouse device");
|
|
PreventSystemChange();
|
|
}
|
|
|
|
return this.mouse;
|
|
}
|
|
}
|
|
|
|
public IKeyboard Keyboard
|
|
{
|
|
get
|
|
{
|
|
if (keyboard == null)
|
|
{
|
|
keyboard = InputDeviceFactory.Instance.CreateDefaultKeyboard();
|
|
if (keyboard == null)
|
|
throw new NoInputDeviceException("Couldn't find a default keyboard device creator. Unable to create a keyboard instance.");
|
|
|
|
Logger.Info("created a new Keyboard device");
|
|
PreventSystemChange();
|
|
}
|
|
|
|
return this.keyboard;
|
|
}
|
|
}
|
|
|
|
#if XNAEXT
|
|
public IMotionSensingDevice MotionSensingDevice
|
|
{
|
|
get
|
|
{
|
|
Logger.Info("Creating a new MotionSensingDevice device.");
|
|
PreventSystemChange();
|
|
return InputDeviceFactory.Instance.CreateDefaultMotionSensingDevice();
|
|
}
|
|
}
|
|
#endif
|
|
|
|
private void PreventSystemChange()
|
|
{
|
|
AddInSystemFactory.Instance.PreventSystemChange(AddInType.InputSystem);
|
|
}
|
|
}
|
|
}
|