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); + } +}