From 7926039633161be6cb80af5b84156e505169fca1 Mon Sep 17 00:00:00 2001 From: Alex Saveau Date: Mon, 29 Jan 2018 17:52:05 -0800 Subject: [PATCH] Support customizable control modes from prefs Signed-off-by: Alex Saveau --- src/main/java/org/sert2521/powerup/util/Oi.kt | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/sert2521/powerup/util/Oi.kt b/src/main/java/org/sert2521/powerup/util/Oi.kt index b2f88b6..7f87342 100644 --- a/src/main/java/org/sert2521/powerup/util/Oi.kt +++ b/src/main/java/org/sert2521/powerup/util/Oi.kt @@ -1,6 +1,7 @@ package org.sert2521.powerup.util import edu.wpi.first.wpilibj.Joystick +import edu.wpi.first.wpilibj.Preferences import edu.wpi.first.wpilibj.XboxController val leftJoystick = Joystick(LEFT_STICK_PORT) @@ -9,8 +10,16 @@ val secondaryJoystick = Joystick(SECONDARY_STICK_PORT) val controller = XboxController(CONTROLLER_PORT) -var controlMode = Control.Controller +var controlMode + get() = Preferences.getInstance().getString("control_mode", null).let { + when (it) { + "arcade" -> Control.Arcade + "controller" -> Control.Controller + else -> Control.Tank + } + } + set(value) = Unit // Needed so Kotlin doesn't create a field enum class Control { - Arcade, Tank, Controller + Tank, Arcade, Controller }