/* Write by * Ekkalak Leelasornchai 5830622421 * Burin Naowarat 5831034621 * Progmeth project */ package utility; import java.util.ArrayList; import javafx.scene.input.KeyCode; public class InputUtility { private static int mouseX, mouseY; private static double lastmouseX,lastmouseY; private static boolean mouseLeftDown, mouseRightDown, mouseOnScreen; private static boolean mouseLeftLastDown, mouseRightLastDown; private static ArrayList<KeyCode> keyPressed = new ArrayList<>(); private static ArrayList<KeyCode> keyTriggered = new ArrayList<>(); public static int getMouseX() { return mouseX; } public static void setMouseX(int mouseX) { InputUtility.mouseX = mouseX; } public static int getMouseY() { return mouseY; } public static void setMouseY(int mouseY) { InputUtility.mouseY = mouseY; } public static boolean isMouseLeftDown() { return mouseLeftDown; } public static void setMouseLeftDown(boolean mouseLeftDown) { InputUtility.mouseLeftDown = mouseLeftDown; } public static boolean isMouseRightDown() { return mouseRightDown; } public static void setMouseRightDown(boolean mouseRightDown) { InputUtility.mouseRightDown = mouseRightDown; } public static boolean isMouseOnScreen() { return mouseOnScreen; } public static void setMouseOnScreen(boolean mouseOnScreen) { InputUtility.mouseOnScreen = mouseOnScreen; } public static boolean isMouseLeftLastDown(){ return mouseLeftLastDown; } public static void setMouseLeftLastDown(boolean v) { InputUtility.mouseLeftLastDown = v; } public static boolean isMouseRightLastDown(){ return mouseRightLastDown; } public static void setMouseRightLastDown(boolean v) { InputUtility.mouseRightLastDown = v; } public static boolean getKeyPressed(KeyCode keycode) { return keyPressed.indexOf(keycode) >= 0; } public static void setKeyPressed(KeyCode keycode, boolean pressed) { int p = keyPressed.indexOf(keycode); if(pressed){ if(p<0) keyPressed.add(keycode); } else keyPressed.remove(keycode); } public static boolean getKeyTriggered(KeyCode keycode) { return keyTriggered.indexOf(keycode) >= 0; } public static void setKeyTriggered(KeyCode keycode, boolean pressed) { int p = keyTriggered.indexOf(keycode); if(pressed){ if(p<0) keyTriggered.add(keycode); } else keyTriggered.remove(keycode); } public static void postUpdate() { mouseLeftDown = false; mouseRightDown = false; keyTriggered.clear(); } public static double getLastmouseX() { return lastmouseX; } public static void setLastmouseX(double d) { InputUtility.lastmouseX = d; } public static double getLastmouseY() { return lastmouseY; } public static void setLastmouseY(double lastmouseY) { InputUtility.lastmouseY = lastmouseY; } }