private void HandleGamepadConnection(IntellGamePad gpad) { gpad.OnButtonPressed += HandleButtonPressed; gpad.OnButtonHold += HandleButtonHold; gpad.OnButtonReleased += HandleButtonReleased; gpad.OnAxisUsed += HandleAxisUsed; gpad.OnAxisStopUsed += HandleAxisStopUsed; Debug.LogFormat("Gamepad connesso: {0}", gpad.ID); }
private void HandleButtonPressed(IntellGamePad gpad, IntellGamePad.Buttons button) { Debug.LogFormat("Gamepad {0} button pressed {1}", gpad.ID, button); if (button == IntellGamePad.Buttons.X && gpad.ID == 0 && GameManager.singleton.tm.isTurn == true) { buttonCheck = (int)button; } else if (button == IntellGamePad.Buttons.X && gpad.ID == 1 && GameManager.singleton.tm.isTurn == false) { buttonCheck = (int)button; } }
private void HandleAxisStopUsed(IntellGamePad gpad, IntellGamePad.Buttons button, IntellGamePad.AxisValue values) { Debug.LogFormat("Gamepad {0} axis {1} stopped use, values: {2},{3}", gpad.ID, button, values.X, values.Y); if (button == IntellGamePad.Buttons.LeftStick && gpad.ID == 0 && GameManager.singleton.tm.isTurn == true) { buttonCheck = (int)button; xCheck = values.X; yCheck = values.Y; } else if (button == IntellGamePad.Buttons.LeftStick && gpad.ID == 1 && GameManager.singleton.tm.isTurn == false) { buttonCheck = (int)button; xCheck = values.X; yCheck = values.Y; } }
/// <summary> /// Aggiorna la lista dello stato dei gamepad (Activegamepads). /// </summary> /// <returns></returns> private void DoCheckInput() { for (int i = 0; i < 4; ++i) { PlayerIndex testPlayerIndex = (PlayerIndex)i; GamePadState testState = GamePad.GetState(testPlayerIndex); if (testState.IsConnected) { IntellGamePad newPad = Activegamepads.FirstOrDefault(gpad => gpad.ID == i); if (newPad != null) { newPad.CurrentGamePadState = testState; } else { IntellGamePad padToAdd = new IntellGamePad(testState, i); Activegamepads.Add(padToAdd); padToAdd.SetSettings(defaultGamepadSettings); OnGamepadConnected?.Invoke(padToAdd); } } else { IntellGamePad padToRemove = Activegamepads.FirstOrDefault(gpad => gpad.ID == i); if (padToRemove != null) { Activegamepads.RemoveAt(i); OnGamepadDisconnected?.Invoke(padToRemove); } } } }
private void HandleButtonPressed(IntellGamePad gpad, IntellGamePad.Buttons button) { Debug.LogFormat("Gamepad {0} button pressed {1}", gpad.ID, button); }
private void HandleAxisStopUsed(IntellGamePad gpad, IntellGamePad.Buttons button, IntellGamePad.AxisValue values) { Debug.LogFormat("Gamepad {0} axis {1} stopped use, values: {2},{3}", gpad.ID, button, values.X, values.Y); }