smrendererv3/SMOptionals/SM.Game/Controls/GameController.cs
Michel Fedde 6f23a80f7f 17.01.2021
+ WPF-Support
+ Game Controller System
+ GameKeybind System

+ SM_WPF_TEST
2021-01-17 21:13:37 +01:00

39 lines
No EOL
946 B
C#

using SharpDX.XInput;
namespace SM.Game.Controls
{
public struct GameController
{
public static float GlobalDeadband = 2500;
private Controller _controller;
public float Deadband { get; set; }
public bool IsConnected => _controller.IsConnected;
public UserIndex Index { get; private set; }
public GameController(int id) : this((UserIndex)id)
{}
public GameController(UserIndex index = UserIndex.Any)
{
_controller = new Controller(index);
Index = index;
Deadband = GlobalDeadband;
}
public GameControllerState GetState()
{
if (!IsConnected)
{
return new GameControllerState(true);
}
Gamepad state = _controller.GetState().Gamepad;
return new GameControllerState(state, ref this);
}
}
}