diff options
author | Peter Wu <lekensteyn@gmail.com> | 2014-01-10 12:57:03 +0100 |
---|---|---|
committer | Peter Wu <lekensteyn@gmail.com> | 2014-01-10 12:57:03 +0100 |
commit | 6e8be3c3ce0a6c1071f6c571322de32031f38b1a (patch) | |
tree | 56d102c647161b856419bcf9b364ed6dbfa5b54f | |
parent | 42ac511fdb0e9385b4bf612df364ce2d81858645 (diff) | |
download | 2iv60-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.java | 18 |
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; } |