public static void ChangeTracker(Enums.Trackers t) { try { if (tracker != null) { tracker.Stop(); } switch (t) { /*case Enums.Trackers.FreeTrack: * { * Debug.Log("[KerbTrack] Using FreeTrack"); * tracker = new FreeTrackTracker(); * break; * }*/ case Enums.Trackers.TrackIR: { Debug.Log("[KerbTrack] Using TrackIR"); tracker = new TrackIRTracker(); break; } /*case Enums.Trackers.OculusRift: * { * Debug.Log("[KerbTrack] Using Oculus Rift"); * tracker = new OVRTracker(); * break; * }*/ case Enums.Trackers.Joystick: { Debug.Log("KerbTrack: Using Joystick"); tracker = new JoystickTracker(); break; } case Enums.Trackers.OpentrackUdp: { Debug.Log("KerbTrack: Using OpentrackUdp"); tracker = new OpentrackUdpTracker(); break; } } trackerEnabled = true; } catch (Exception) { trackerEnabled = false; throw; } }
private static void SettingsGui() { KerbTrack.mapTrackingEnabled = GUILayout.Toggle(KerbTrack.mapTrackingEnabled, "Enabled in map view"); KerbTrack.externalTrackingEnabled = GUILayout.Toggle(KerbTrack.externalTrackingEnabled, "Enabled in external view"); int oldTracker = KerbTrack.activeTracker; KerbTrack.activeTracker = GuiUtils.RadioButton(trackerNames, KerbTrack.activeTracker); if (oldTracker != KerbTrack.activeTracker) { KerbTrack.ChangeTracker((Enums.Trackers)KerbTrack.activeTracker); } Enums.Trackers currentTracker = (Enums.Trackers)KerbTrack.activeTracker; switch (currentTracker) { /*case Enums.Trackers.FreeTrack: * GUILayout.Label("<b>FreeTrack</b>\r\nThis is used for FaceTrackNoIR. Freetrackclient.dll must be placed next to KSP.exe, and must be a 64-bit version if 64-bit KSP is used."); * break;*/ case Enums.Trackers.TrackIR: GUILayout.Label("<b>TrackIR</b>\r\nSupports TrackIR and other systems which emulate it, such as opentrack.\r\n" + "<b>opentrack</b>\r\nWhen using opentrack, select the Input tracker appripriate to your hardware setup, and select \"freetrack 2.0 Enhanced\" as the Output.\r\n" + "In the Output settings, ensure \"Use TrackIR\" or \"Enable both\" is selected."); break; /*case Enums.Trackers.OculusRift: * GUILayout.Label("<b>Oculus Rift</b>\r\nRequires an older version of the Oculus Rift runtime (2015), and only 64-bit is supported.\r\n" + * "It's recommended to select \"TrackIR\" as your tracker and use opentrack instead.\r\n" + * "Place \"Oculus OVR PosRotWrapper 64-bit.dll\" next to KSP.exe."); * break;*/ case Enums.Trackers.Joystick: GUILayout.Label("<b>Joystick</b>\r\nUse your joystick axes as input. Good for assigning to a spare axis on a joystick if you don't have a head tracker.\r\n" + "If you have a head tracker that isn't supported, try setting it to output as a joystick and using this setting to receive it in KerbTrack."); break; case Enums.Trackers.OpentrackUdp: GUILayout.Label("<b>Opentrack Udp</b>\r\n Supports opentrack's udp protocol, listening on port 4242."); break; } }
public string GetTrackerName(Enums.Trackers t) { return(Enum.GetName(t.GetType(), t)); }