This commit is contained in:
Luca Puderbach 2024-12-04 16:44:26 +01:00
parent eb19e290bb
commit 8821602728

View File

@ -1,59 +1,60 @@
package pp.monopoly.client.gui; //package pp.monopoly.client.gui;
//
import com.jme3.input.InputManager; //import com.jme3.input.InputManager;
import com.jme3.input.KeyInput; //import com.jme3.input.KeyInput;
import com.jme3.input.controls.ActionListener; //import com.jme3.input.controls.ActionListener;
import com.jme3.input.controls.KeyTrigger; //import com.jme3.input.controls.KeyTrigger;
//
/** ///**
* Handhabt die Eingaben für die Kamera. // * Handhabt die Eingaben für die Kamera.
*/ // */
public class CameraInputHandler { //public class CameraInputHandler {
//
private CameraController cameraController; // Kamera-Controller // private CameraController cameraController; // Kamera-Controller
//
/** // /**
* Konstruktor für den CameraInputHandler. // * Konstruktor für den CameraInputHandler.
* // *
* @param cameraController Der Kamera-Controller, der gesteuert werden soll. // * @param cameraController Der Kamera-Controller, der gesteuert werden soll.
* @param inputManager Der InputManager, um Eingaben zu registrieren. // * @param inputManager Der InputManager, um Eingaben zu registrieren.
*/ // */
public CameraInputHandler(CameraController cameraController, InputManager inputManager) { // public CameraInputHandler(CameraController cameraController, InputManager inputManager) {
if (cameraController == null || inputManager == null) { // if (cameraController == null || inputManager == null) {
throw new IllegalArgumentException("CameraController und InputManager dürfen nicht null sein"); // throw new IllegalArgumentException("CameraController und InputManager dürfen nicht null sein");
} // }
this.cameraController = cameraController; // this.cameraController = cameraController;
//
// Mappings für Kamerasteuerung // // Mappings für Kamerasteuerung
inputManager.addMapping("FocusCurrentPlayer", new KeyTrigger(KeyInput.KEY_1)); // Modus 1 // inputManager.addMapping("FocusCurrentPlayer", new KeyTrigger(KeyInput.KEY_1)); // Modus 1
inputManager.addMapping("FocusSelf", new KeyTrigger(KeyInput.KEY_2)); // Modus 2 // inputManager.addMapping("FocusSelf", new KeyTrigger(KeyInput.KEY_2)); // Modus 2
inputManager.addMapping("FreeCam", new KeyTrigger(KeyInput.KEY_3)); // Modus 3 // inputManager.addMapping("FreeCam", new KeyTrigger(KeyInput.KEY_3)); // Modus 3
//
// Listener für die Kameramodi // // Listener für die Kameramodi
inputManager.addListener(actionListener, "FocusCurrentPlayer", "FocusSelf", "FreeCam"); // inputManager.addListener(actionListener, "FocusCurrentPlayer", "FocusSelf", "FreeCam");
} // }
//
/** // /**
* ActionListener für die Kamerasteuerung. // * ActionListener für die Kamerasteuerung.
*/ // */
private final ActionListener actionListener = (name, isPressed, tpf) -> { // private final ActionListener actionListener = (name, isPressed, tpf) -> {
if (!isPressed) return; // if (!isPressed) return;
//
// Umschalten der Kamera-Modi basierend auf der Eingabe // // Umschalten der Kamera-Modi basierend auf der Eingabe
switch (name) { // switch (name) {
case "FocusCurrentPlayer" -> { // case "FocusCurrentPlayer" -> {
cameraController.setMode(CameraController.CameraMode.FOCUS_CURRENT_PLAYER); // cameraController.setMode(CameraController.CameraMode.FOCUS_CURRENT_PLAYER);
System.out.println("Kameramodus: Fokus auf aktuellen Spieler"); // System.out.println("Kameramodus: Fokus auf aktuellen Spieler");
} // }
case "FocusSelf" -> { // case "FocusSelf" -> {
cameraController.setMode(CameraController.CameraMode.FOCUS_SELF); // cameraController.setMode(CameraController.CameraMode.FOCUS_SELF);
System.out.println("Kameramodus: Fokus auf eigene Figur"); // System.out.println("Kameramodus: Fokus auf eigene Figur");
} // }
case "FreeCam" -> { // case "FreeCam" -> {
cameraController.setMode(CameraController.CameraMode.FREECAM); // cameraController.setMode(CameraController.CameraMode.FREECAM);
System.out.println("Kameramodus: Freie Kamera"); // System.out.println("Kameramodus: Freie Kamera");
} // }
default -> System.err.println("Unbekannter Kameramodus: " + name); // default -> System.err.println("Unbekannter Kameramodus: " + name);
} // }
}; // };
} //}
//