summaryrefslogtreecommitdiffstats
path: root/servers/arvr/arvr_positional_tracker.cpp
diff options
context:
space:
mode:
authorBastiaan Olij <mux213@gmail.com>2017-11-01 21:46:37 +1100
committerBastiaan Olij <mux213@gmail.com>2017-11-01 23:59:14 +1100
commit167b7b55338761e3cb48677219d41f5bfc32c839 (patch)
treeb5f3ce606a8ef2cacb163a821cb8639dcda205d7 /servers/arvr/arvr_positional_tracker.cpp
parent58889102b6fe3a562e4f5e0cb045def9ff2b1f53 (diff)
downloadredot-engine-167b7b55338761e3cb48677219d41f5bfc32c839.tar.gz
Adding rumble support to ARVR controllers (if implemented on the ARVR interface)
Diffstat (limited to 'servers/arvr/arvr_positional_tracker.cpp')
-rw-r--r--servers/arvr/arvr_positional_tracker.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/servers/arvr/arvr_positional_tracker.cpp b/servers/arvr/arvr_positional_tracker.cpp
index 4ecd7a3898..fc0270615c 100644
--- a/servers/arvr/arvr_positional_tracker.cpp
+++ b/servers/arvr/arvr_positional_tracker.cpp
@@ -52,6 +52,11 @@ void ARVRPositionalTracker::_bind_methods() {
ClassDB::bind_method(D_METHOD("_set_joy_id", "joy_id"), &ARVRPositionalTracker::set_joy_id);
ClassDB::bind_method(D_METHOD("_set_orientation", "orientation"), &ARVRPositionalTracker::set_orientation);
ClassDB::bind_method(D_METHOD("_set_rw_position", "rw_position"), &ARVRPositionalTracker::set_rw_position);
+
+ ClassDB::bind_method(D_METHOD("get_rumble"), &ARVRPositionalTracker::get_rumble);
+ ClassDB::bind_method(D_METHOD("set_rumble", "rumble"), &ARVRPositionalTracker::set_rumble);
+
+ ADD_PROPERTY(PropertyInfo(Variant::REAL, "rumble"), "set_rumble", "get_rumble");
};
void ARVRPositionalTracker::set_type(ARVRServer::TrackerType p_type) {
@@ -170,6 +175,18 @@ Transform ARVRPositionalTracker::get_transform(bool p_adjust_by_reference_frame)
return new_transform;
};
+real_t ARVRPositionalTracker::get_rumble() const {
+ return rumble;
+};
+
+void ARVRPositionalTracker::set_rumble(real_t p_rumble) {
+ if (p_rumble > 0.0) {
+ rumble = p_rumble;
+ } else {
+ rumble = 0.0;
+ };
+};
+
ARVRPositionalTracker::ARVRPositionalTracker() {
type = ARVRServer::TRACKER_UNKNOWN;
name = "Unknown";
@@ -178,6 +195,7 @@ ARVRPositionalTracker::ARVRPositionalTracker() {
tracks_orientation = false;
tracks_position = false;
hand = TRACKER_HAND_UNKNOWN;
+ rumble = 0.0;
};
ARVRPositionalTracker::~ARVRPositionalTracker(){