From 6e8be3c3ce0a6c1071f6c571322de32031f38b1a Mon Sep 17 00:00:00 2001 From: Peter Wu Date: Fri, 10 Jan 2014 12:57:03 +0100 Subject: Allow camera mode to be toggled with O, H and M FP and auto are not interesting, hence not added. --- src/RobotRace.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) 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; } -- cgit v1.2.1