diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml
deleted file mode 100644
index 1c24f9a8..00000000
--- a/.idea/kotlinc.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/visualiser/src/main/java/seng302/App.java b/visualiser/src/main/java/seng302/App.java
index 363349e3..7bc8a18f 100644
--- a/visualiser/src/main/java/seng302/App.java
+++ b/visualiser/src/main/java/seng302/App.java
@@ -33,9 +33,6 @@ public class App extends Application {
Parent root = loader.load();
Scene scene = new Scene(root, 1200, 800);
- InputChecker inputChecker = new InputChecker();
- inputChecker.runWithScene(scene);
-
stage.setScene(scene);
stage.setTitle("RaceVision - Team 7");
stage.show();
diff --git a/visualiser/src/main/java/seng302/gameController/InputChecker.java b/visualiser/src/main/java/seng302/gameController/InputChecker.java
index 4d8f911d..99873107 100644
--- a/visualiser/src/main/java/seng302/gameController/InputChecker.java
+++ b/visualiser/src/main/java/seng302/gameController/InputChecker.java
@@ -7,6 +7,8 @@ import seng302.gameController.Keys.KeyFactory;
import java.util.HashMap;
+import static javafx.application.Application.launch;
+
/**
* Class for checking what keys are currently being used
*/
@@ -21,12 +23,18 @@ public class InputChecker {
scene.setOnKeyPressed(event -> {
String codeString = event.getCode().toString();
if (!currentlyActiveKeys.containsKey(codeString)) {
+ ControlKey controlKey = KeyFactory.getKey(codeString);
+ controlKey.onAction();
currentlyActiveKeys.put(codeString, true);
}
});
- scene.setOnKeyReleased(event ->
- currentlyActiveKeys.remove(event.getCode().toString())
+ scene.setOnKeyReleased(event -> {
+ String codeString = event.getCode().toString();
+ ControlKey controlKey = KeyFactory.getKey(codeString);
+ controlKey.onRelease();
+ currentlyActiveKeys.remove(event.getCode().toString());
+ }
);
new AnimationTimer() {
@@ -35,7 +43,8 @@ public class InputChecker {
for (String key: currentlyActiveKeys.keySet()){
ControlKey controlKey = KeyFactory.getKey(key);
if (controlKey != null){
- controlKey.onAction();
+ controlKey.onHold();
+ System.out.println(controlKey.toString() + " is Pressed.");
}
}
// for (String key : InputKeys.stringKeysMap.keySet()){
@@ -63,4 +72,5 @@ public class InputChecker {
return false;
}
}
+
}
diff --git a/visualiser/src/main/java/seng302/gameController/Keys/ControlKey.java b/visualiser/src/main/java/seng302/gameController/Keys/ControlKey.java
index fe2b83e0..4ab10842 100644
--- a/visualiser/src/main/java/seng302/gameController/Keys/ControlKey.java
+++ b/visualiser/src/main/java/seng302/gameController/Keys/ControlKey.java
@@ -20,8 +20,26 @@ public abstract class ControlKey {
this.keyCode = keyCode;
}
+ /**
+ * To String method
+ * @return returns the name of the key
+ */
+ public String toString(){
+ return this.name;
+ }
+
/**
* What this key should do when the command is issued for it to do its job.
*/
public abstract void onAction();//may want to make it take in a visualiser and stuff in the future.
+
+ /**
+ * What to do when the key is held
+ */
+ public abstract void onHold();
+
+ /**
+ * What to do when the key is released.
+ */
+ public abstract void onRelease();
}
diff --git a/visualiser/src/main/java/seng302/gameController/Keys/DownWindKey.java b/visualiser/src/main/java/seng302/gameController/Keys/DownWindKey.java
index cf1a28cc..22098b33 100644
--- a/visualiser/src/main/java/seng302/gameController/Keys/DownWindKey.java
+++ b/visualiser/src/main/java/seng302/gameController/Keys/DownWindKey.java
@@ -21,4 +21,14 @@ public class DownWindKey extends ControlKey {
public void onAction() {
}
+
+ @Override
+ public void onHold() {
+
+ }
+
+ @Override
+ public void onRelease() {
+
+ }
}
diff --git a/visualiser/src/main/java/seng302/gameController/Keys/SailsToggleKey.java b/visualiser/src/main/java/seng302/gameController/Keys/SailsToggleKey.java
index b26d7f62..b161a53c 100644
--- a/visualiser/src/main/java/seng302/gameController/Keys/SailsToggleKey.java
+++ b/visualiser/src/main/java/seng302/gameController/Keys/SailsToggleKey.java
@@ -21,4 +21,14 @@ public class SailsToggleKey extends ControlKey {
public void onAction() {
}
+
+ @Override
+ public void onHold() {
+
+ }
+
+ @Override
+ public void onRelease() {
+
+ }
}
diff --git a/visualiser/src/main/java/seng302/gameController/Keys/TackGybeKey.java b/visualiser/src/main/java/seng302/gameController/Keys/TackGybeKey.java
index 4ff5cd1f..48da9025 100644
--- a/visualiser/src/main/java/seng302/gameController/Keys/TackGybeKey.java
+++ b/visualiser/src/main/java/seng302/gameController/Keys/TackGybeKey.java
@@ -21,4 +21,14 @@ public class TackGybeKey extends ControlKey {
public void onAction() {
}
+
+ @Override
+ public void onHold() {
+
+ }
+
+ @Override
+ public void onRelease() {
+
+ }
}
diff --git a/visualiser/src/main/java/seng302/gameController/Keys/UpWindKey.java b/visualiser/src/main/java/seng302/gameController/Keys/UpWindKey.java
index fde830ec..f665abc3 100644
--- a/visualiser/src/main/java/seng302/gameController/Keys/UpWindKey.java
+++ b/visualiser/src/main/java/seng302/gameController/Keys/UpWindKey.java
@@ -21,4 +21,14 @@ public class UpWindKey extends ControlKey {
public void onAction() {
}
+
+ @Override
+ public void onHold() {
+
+ }
+
+ @Override
+ public void onRelease() {
+
+ }
}
diff --git a/visualiser/src/main/java/seng302/gameController/Keys/VMGKey.java b/visualiser/src/main/java/seng302/gameController/Keys/VMGKey.java
index 7da30550..c6fb919d 100644
--- a/visualiser/src/main/java/seng302/gameController/Keys/VMGKey.java
+++ b/visualiser/src/main/java/seng302/gameController/Keys/VMGKey.java
@@ -21,4 +21,14 @@ public class VMGKey extends ControlKey{
public void onAction() {
}
+
+ @Override
+ public void onHold() {
+
+ }
+
+ @Override
+ public void onRelease() {
+
+ }
}
diff --git a/visualiser/src/main/java/seng302/gameController/Keys/ZoomInKey.java b/visualiser/src/main/java/seng302/gameController/Keys/ZoomInKey.java
index c0bdc7f1..49714cb7 100644
--- a/visualiser/src/main/java/seng302/gameController/Keys/ZoomInKey.java
+++ b/visualiser/src/main/java/seng302/gameController/Keys/ZoomInKey.java
@@ -15,4 +15,14 @@ public class ZoomInKey extends ControlKey {
public void onAction() {
}
+
+ @Override
+ public void onHold() {
+
+ }
+
+ @Override
+ public void onRelease() {
+
+ }
}
diff --git a/visualiser/src/main/java/seng302/gameController/Keys/ZoomOutKey.java b/visualiser/src/main/java/seng302/gameController/Keys/ZoomOutKey.java
index bcb844e9..3898f364 100644
--- a/visualiser/src/main/java/seng302/gameController/Keys/ZoomOutKey.java
+++ b/visualiser/src/main/java/seng302/gameController/Keys/ZoomOutKey.java
@@ -21,4 +21,14 @@ public class ZoomOutKey extends ControlKey{
public void onAction() {
}
+
+ @Override
+ public void onHold() {
+
+ }
+
+ @Override
+ public void onRelease() {
+
+ }
}
diff --git a/visualiser/src/test/java/seng302/GameControllerManualTest.java b/visualiser/src/test/java/seng302/GameControllerManualTest.java
new file mode 100644
index 00000000..95a0ea46
--- /dev/null
+++ b/visualiser/src/test/java/seng302/GameControllerManualTest.java
@@ -0,0 +1,42 @@
+package seng302;
+
+import javafx.application.Application;
+import javafx.application.Platform;
+import javafx.event.EventHandler;
+import javafx.scene.Scene;
+import javafx.scene.layout.GridPane;
+import javafx.stage.Stage;
+import javafx.stage.WindowEvent;
+import seng302.gameController.InputChecker;
+
+/**
+ * Start to manually test the game controller
+ */
+public class GameControllerManualTest extends Application {
+
+ @Override
+ public void start(Stage stage) throws Exception {
+ stage.setOnCloseRequest(new EventHandler() {
+ @Override
+ public void handle(WindowEvent event) {
+ Platform.exit();
+ System.exit(0);
+ }
+ });
+
+ GridPane root = new GridPane();
+ Scene scene = new Scene(root, 1200, 800);
+
+ InputChecker inputChecker = new InputChecker();
+ inputChecker.runWithScene(scene);
+
+ stage.setScene(scene);
+ stage.setTitle("RaceVision - Team 7 - Input Tester Manual Test");
+ stage.show();
+ }
+
+
+ public static void main(String[] args) {
+ launch(args);
+ }
+}