-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathJoyConRight.cs
More file actions
89 lines (76 loc) · 4.12 KB
/
JoyConRight.cs
File metadata and controls
89 lines (76 loc) · 4.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
using System.Linq;
using TMPro;
using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.UI;
using UnityJoyCon;
namespace JoyConSample
{
public class JoyConRight : MonoBehaviour
{
[SerializeField] private Renderer buttonEast;
[SerializeField] private Renderer buttonSouth;
[SerializeField] private Renderer buttonNorth;
[SerializeField] private Renderer buttonWest;
[SerializeField] private Renderer buttonR;
[SerializeField] private Renderer buttonZR;
[SerializeField] private Renderer buttonSL;
[SerializeField] private Renderer buttonSR;
[SerializeField] private Renderer buttonPlus;
[SerializeField] private Renderer buttonHome;
[SerializeField] private Renderer buttonStick;
[SerializeField] private Transform stickAxis;
[SerializeField] private TMP_Text accelXText;
[SerializeField] private Slider accelXSlider;
[SerializeField] private TMP_Text accelYText;
[SerializeField] private Slider accelYSlider;
[SerializeField] private TMP_Text accelZText;
[SerializeField] private Slider accelZSlider;
[SerializeField] private TMP_Text gyroXText;
[SerializeField] private Slider gyroXSlider;
[SerializeField] private TMP_Text gyroYText;
[SerializeField] private Slider gyroYSlider;
[SerializeField] private TMP_Text gyroZText;
[SerializeField] private Slider gyroZSlider;
private SwitchJoyConRightHID _joyConRight;
private void Awake()
{
_joyConRight = SwitchJoyConRightHID.all.FirstOrDefault();
}
private void Update()
{
if (_joyConRight == null) return;
buttonEast.material.color = _joyConRight.buttonEast.IsPressed() ? Color.green : Color.black;
buttonSouth.material.color = _joyConRight.buttonSouth.IsPressed() ? Color.green : Color.black;
buttonNorth.material.color = _joyConRight.buttonNorth.IsPressed() ? Color.green : Color.black;
buttonWest.material.color = _joyConRight.buttonWest.IsPressed() ? Color.green : Color.black;
buttonR.material.color = _joyConRight.rightShoulder.IsPressed() ? Color.green : Color.black;
buttonZR.material.color = _joyConRight.rightTrigger.IsPressed() ? Color.green : Color.black;
buttonSL.material.color = _joyConRight.smallLeftShoulder.IsPressed() ? Color.green : Color.black;
buttonSR.material.color = _joyConRight.smallRightShoulder.IsPressed() ? Color.green : Color.black;
buttonPlus.material.color = _joyConRight.startButton.IsPressed() ? Color.green : Color.black;
buttonHome.material.color = _joyConRight.homeButton.IsPressed() ? Color.green : Color.black;
buttonStick.material.color = _joyConRight.rightStickButton.IsPressed() ? Color.green : Color.black;
var rightStick = _joyConRight.rightStick.ReadValue();
stickAxis.localPosition = new Vector3(rightStick.x * 0.5f, stickAxis.localPosition.y, rightStick.y * 0.5f);
var accel = _joyConRight.acceleration.ReadValue();
var gyro = _joyConRight.angularVelocity.ReadValue();
accelXText.SetText($"{accel.x: 0.00;-0.00}");
accelYText.SetText($"{accel.y: 0.00;-0.00}");
accelZText.SetText($"{accel.z: 0.00;-0.00}");
gyroXText.SetText($"{gyro.x: 000.00;-000.00}");
gyroYText.SetText($"{gyro.y: 000.00;-000.00}");
gyroZText.SetText($"{gyro.z: 000.00;-000.00}");
accelXSlider.value = accel.x;
accelYSlider.value = accel.y;
accelZSlider.value = accel.z;
gyroXSlider.value = gyro.x;
gyroYSlider.value = gyro.y;
gyroZSlider.value = gyro.z;
if (_joyConRight.rightTrigger.wasPressedThisFrame) _joyConRight.SetMotorSpeeds(0.5f, 0.0f);
if (_joyConRight.rightTrigger.wasReleasedThisFrame) _joyConRight.ResetHaptics();
transform.rotation = _joyConRight.rotation.ReadValue();
if (_joyConRight.buttonWest.wasPressedThisFrame) _joyConRight.ResetRotation();
}
}
}