public DesktopGamesEditor( GameDatabase database, GameControllerFactory controllerFactory, PlayniteSettings appSettings, IDialogsFactory dialogs, ExtensionFactory extensions, PlayniteApplication app) : base( database, controllerFactory, appSettings, dialogs, extensions, app) { }
public XInputDevice(InputManager input, PlayniteApplication app) { inputManager = input; application = app; context = SynchronizationContext.Current; Task.Run(async() => { while (true) { if (app.IsActive != true) { await Task.Delay(pollingRate); continue; } var state = GamePad.GetState(PlayerIndex.One); if (state.IsConnected) { ProcessState(state); await Task.Delay(pollingRate); } state = GamePad.GetState(PlayerIndex.Two); if (state.IsConnected) { ProcessState(state); await Task.Delay(pollingRate); } state = GamePad.GetState(PlayerIndex.Three); if (state.IsConnected) { ProcessState(state); await Task.Delay(pollingRate); } state = GamePad.GetState(PlayerIndex.Four); if (state.IsConnected) { ProcessState(state); await Task.Delay(pollingRate); } await Task.Delay(pollingRate); } }); }
public XInputDevice(InputManager input, PlayniteApplication app) { foreach (PlayerIndex index in Enum.GetValues(typeof(PlayerIndex))) { prevStates.Add(index, new Dictionary <XInputButton, ButtonState>() { { XInputButton.A, ButtonState.Released }, { XInputButton.B, ButtonState.Released }, { XInputButton.Back, ButtonState.Released }, { XInputButton.DPadDown, ButtonState.Released }, { XInputButton.DPadLeft, ButtonState.Released }, { XInputButton.DPadRight, ButtonState.Released }, { XInputButton.DPadUp, ButtonState.Released }, { XInputButton.Guide, ButtonState.Released }, { XInputButton.LeftShoulder, ButtonState.Released }, { XInputButton.LeftStick, ButtonState.Released }, { XInputButton.LeftStickDown, ButtonState.Released }, { XInputButton.LeftStickLeft, ButtonState.Released }, { XInputButton.LeftStickRight, ButtonState.Released }, { XInputButton.LeftStickUp, ButtonState.Released }, { XInputButton.RightShoulder, ButtonState.Released }, { XInputButton.RightStick, ButtonState.Released }, { XInputButton.RightStickDown, ButtonState.Released }, { XInputButton.RightStickLeft, ButtonState.Released }, { XInputButton.RightStickRight, ButtonState.Released }, { XInputButton.RightStickUp, ButtonState.Released }, { XInputButton.Start, ButtonState.Released }, { XInputButton.TriggerLeft, ButtonState.Released }, { XInputButton.TriggerRight, ButtonState.Released }, { XInputButton.X, ButtonState.Released }, { XInputButton.Y, ButtonState.Released } }); } inputManager = input; application = app; context = SynchronizationContext.Current; Task.Run(async() => { while (true) { if (isDisposed) { return; } if (app.IsActive != true) { await Task.Delay(pollingRate); continue; } var state = GamePad.GetState(PlayerIndex.One); if (state.IsConnected) { ProcessState(state, PlayerIndex.One); await Task.Delay(pollingRate); } state = GamePad.GetState(PlayerIndex.Two); if (state.IsConnected) { ProcessState(state, PlayerIndex.Two); await Task.Delay(pollingRate); } state = GamePad.GetState(PlayerIndex.Three); if (state.IsConnected) { ProcessState(state, PlayerIndex.Three); await Task.Delay(pollingRate); } state = GamePad.GetState(PlayerIndex.Four); if (state.IsConnected) { ProcessState(state, PlayerIndex.Four); await Task.Delay(pollingRate); } await Task.Delay(pollingRate); } }); }