summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Wu <lekensteyn@gmail.com>2014-01-10 12:57:03 +0100
committerPeter Wu <lekensteyn@gmail.com>2014-01-10 12:57:03 +0100
commit6e8be3c3ce0a6c1071f6c571322de32031f38b1a (patch)
tree56d102c647161b856419bcf9b364ed6dbfa5b54f
parent42ac511fdb0e9385b4bf612df364ce2d81858645 (diff)
download2iv60-robots-6e8be3c3ce0a6c1071f6c571322de32031f38b1a.tar.gz
Allow camera mode to be toggled with O, H and M
FP and auto are not interesting, hence not added.
-rw-r--r--src/RobotRace.java18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/RobotRace.java b/src/RobotRace.java
index f3d6b8a..f310997 100644
--- a/src/RobotRace.java
+++ b/src/RobotRace.java
@@ -16,6 +16,7 @@ import robotrace.Vector;
import static java.lang.Math.*;
import java.net.URI;
import java.net.URISyntaxException;
+import java.util.Arrays;
import java.util.Locale;
import java.util.Random;
@@ -648,6 +649,23 @@ public class RobotRace extends Base {
System.err.println("Triggering pause...");
robotRace.requestPauseToggle = true;
return true;
+ case KeyEvent.VK_O: /* camera mode: Overview */
+ case KeyEvent.VK_H: /* camera mode: Helicopter */
+ case KeyEvent.VK_M: /* camera mode: Motorcycle */
+ if (robotRace.mainWindow != null) {
+ System.err.println("Changing camera to: " + e.getKeyChar());
+ // map from camera mode (array index) to key codes
+ Integer cameraModes[] = new Integer[] {
+ KeyEvent.VK_O, /* 0: default mode (Overview) */
+ KeyEvent.VK_H, /* 1: helicopter */
+ KeyEvent.VK_M, /* 2: Motor cycle */
+ };
+ int i = Arrays.asList(cameraModes).indexOf(e.getKeyCode());
+ assert i != -1 : "Camera mode not found for key";
+ robotRace.gs.camMode = i;
+ robotRace.mainWindow.updateElements();
+ }
+ return true;
default:
return false;
}