aboutsummaryrefslogtreecommitdiff
path: root/servers/arvr_server.cpp
diff options
context:
space:
mode:
authorBastiaanOlij2017-11-04 11:50:05 +1100
committerBastiaan Olij2017-11-13 22:08:43 +1100
commit9d3f8418ca252a4047b3818f16ed22228c1d0071 (patch)
tree76524415f0affb0172b8437b96e7d0c51d8db389 /servers/arvr_server.cpp
parent2fce0010f0d0eb2476028ed62335508bceabd820 (diff)
downloadgodot-9d3f8418ca252a4047b3818f16ed22228c1d0071.tar.gz
godot-9d3f8418ca252a4047b3818f16ed22228c1d0071.tar.zst
godot-9d3f8418ca252a4047b3818f16ed22228c1d0071.zip
Diffstat (limited to 'servers/arvr_server.cpp')
-rw-r--r--servers/arvr_server.cpp19
1 files changed, 16 insertions, 3 deletions
diff --git a/servers/arvr_server.cpp b/servers/arvr_server.cpp
index ede080b42..1e73d6753 100644
--- a/servers/arvr_server.cpp
+++ b/servers/arvr_server.cpp
@@ -49,15 +49,13 @@ void ARVRServer::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_interface_count"), &ARVRServer::get_interface_count);
ClassDB::bind_method(D_METHOD("get_interface", "idx"), &ARVRServer::get_interface);
+ ClassDB::bind_method(D_METHOD("get_interfaces"), &ARVRServer::get_interfaces);
ClassDB::bind_method(D_METHOD("find_interface", "name"), &ARVRServer::find_interface);
ClassDB::bind_method(D_METHOD("get_tracker_count"), &ARVRServer::get_tracker_count);
ClassDB::bind_method(D_METHOD("get_tracker", "idx"), &ARVRServer::get_tracker);
ClassDB::bind_method(D_METHOD("set_primary_interface", "interface"), &ARVRServer::set_primary_interface);
- ClassDB::bind_method(D_METHOD("add_interface", "interface"), &ARVRServer::add_interface);
- ClassDB::bind_method(D_METHOD("remove_interface", "interface"), &ARVRServer::remove_interface);
-
BIND_ENUM_CONSTANT(TRACKER_CONTROLLER);
BIND_ENUM_CONSTANT(TRACKER_BASESTATION);
BIND_ENUM_CONSTANT(TRACKER_ANCHOR);
@@ -191,6 +189,21 @@ Ref<ARVRInterface> ARVRServer::find_interface(const String &p_name) const {
return interfaces[idx];
};
+Array ARVRServer::get_interfaces() const {
+ Array ret;
+
+ for (int i = 0; i < interfaces.size(); i++) {
+ Dictionary iface_info;
+
+ iface_info["id"] = i;
+ iface_info["name"] = interfaces[i]->get_name();
+
+ ret.push_back(iface_info);
+ };
+
+ return ret;
+};
+
/*
A little extra info on the tracker ids, these are unique per tracker type so we get soem consistency in recognising our trackers, specifically controllers.