SND\AstrorEnales_cp 734679616b - Added ILRepack
- 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
2012-08-25 17:27:45 +00:00

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);
}
}
}