-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathInput.java
More file actions
104 lines (87 loc) · 3.08 KB
/
Copy pathInput.java
File metadata and controls
104 lines (87 loc) · 3.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
package javagameengine.input;
import javagameengine.msc.Vector2;
import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
import java.util.LinkedList;
public class Input {
private static LinkedList<Integer> keyDowns = new LinkedList<>();
private static boolean isPressed = false;
private static boolean mouseIsPressed = false;
private static Vector2 mousePosition=new Vector2(0,0);
private static Vector2 mousePositionOnCanvas =new Vector2(0,0);
private static float scrollValue=0;
private static LinkedList<Integer> mouseButtonDowns = new LinkedList<>();
private static MouseEvent mouseEvent = null;
public static Vector2 getMousePosition() {
return mousePosition;
}
public static MouseEvent getMouseEvent() {
return mouseEvent;
}
public static void setMouseEvent(MouseEvent e) {
Input.mouseEvent = e;
}
public static void setScrollValue(float scrollValue1){
scrollValue = scrollValue1;
}
public static float getScrollValue(){
return scrollValue;
}
public static void setMousePosition(Vector2 mousePosition) {
Input.mousePosition = mousePosition;
}
public static void addMouseButton(MouseEvent e) {
if(!isMouseDown(e.getButton()))
mouseButtonDowns.add(new Integer(e.getButton()));
if(!mouseIsPressed)
{
mouseIsPressed = true;
}
}
public static Vector2 getMousePositionOnCanvas() {
return mousePositionOnCanvas;
}
public static void setMousePositionOnCanvas(Vector2 mousePositionOnCanvas) {
Input.mousePositionOnCanvas = mousePositionOnCanvas;
}
public static void removeMouseButton(MouseEvent e) {
if(isMouseDown(e.getButton()))
mouseButtonDowns.remove(new Integer(e.getButton()));
}
public static boolean isMouseDown(int mouseButtonDown)
{
return(mouseButtonDowns.contains(mouseButtonDown));
}
public static boolean isMouseDown() {
return mouseButtonDowns.size() > 0;
}
public static boolean isMousePressed(int keyCode){
boolean pressed = isMouseDown(keyCode);
if(pressed)
mouseButtonDowns.remove(new Integer(keyCode));
return pressed;
}
/**
* @param keyCode the key to check
* @return true if the keyCode is held down
*/
public static boolean isKeyDown(int keyCode) {
return(keyDowns.contains(keyCode));
}
public static void addKey(KeyEvent e){
if(!isKeyDown(e.getKeyCode()))
keyDowns.add(new Integer(e.getKeyCode()));
if(!isPressed)
isPressed = true;
}
public static void removeKey(KeyEvent e) {
if(isKeyDown(e.getKeyCode()))
keyDowns.remove(new Integer(e.getKeyCode()));
}
public static boolean isKeyPressed(int keyCode){
boolean pressed = isKeyDown(keyCode);
if(pressed)
keyDowns.remove(new Integer(keyCode));
return pressed;
}
}