diff options
author | Bastiaan Olij <mux213@gmail.com> | 2017-11-01 21:46:37 +1100 |
---|---|---|
committer | Bastiaan Olij <mux213@gmail.com> | 2017-11-01 23:59:14 +1100 |
commit | 167b7b55338761e3cb48677219d41f5bfc32c839 (patch) | |
tree | b5f3ce606a8ef2cacb163a821cb8639dcda205d7 /servers/arvr/arvr_positional_tracker.cpp | |
parent | 58889102b6fe3a562e4f5e0cb045def9ff2b1f53 (diff) | |
download | redot-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.cpp | 18 |
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(){ |