123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- package me.hammerle.snuviengine.api;
- import static org.lwjgl.glfw.GLFW.*;
- public final class KeyBinding
- {
- private boolean isDown = false;
- private int time = 0;
- private boolean isReleased = false;
- private int key;
- private boolean isRebinding = false;
- private String name = null;
-
- protected KeyBinding(int key)
- {
- this.key = key;
- }
-
- public boolean isRebinding()
- {
- return isRebinding;
- }
-
- public String getName()
- {
- if(name == null)
- {
- switch(key)
- {
- case GLFW_KEY_UP: name = "Up"; break;
- case GLFW_KEY_DOWN: name = "Down"; break;
- case GLFW_KEY_LEFT: name = "Left"; break;
- case GLFW_KEY_RIGHT: name = "Right"; break;
- case GLFW_KEY_LEFT_SHIFT: name = "L-Shift"; break;
- case GLFW_KEY_RIGHT_SHIFT: name = "R-Shift"; break;
- case GLFW_KEY_ESCAPE: name = "Escape"; break;
- case GLFW_KEY_ENTER: name = "Enter"; break;
- case GLFW_KEY_SPACE: name = "Space"; break;
- default:
- name = glfwGetKeyName(key, glfwGetKeyScancode(key));
- if(name != null)
- {
- name = name.substring(0, 1).toUpperCase() + name.substring(1);
- }
- }
- if(name == null)
- {
- name = "Unknown";
- }
- }
- return name;
- }
-
- protected void setIsRebinding(boolean b)
- {
- isRebinding = b;
- }
-
- protected void onKeyDownEvent()
- {
- isDown = true;
- }
-
- protected void onKeyUpEvent()
- {
- isReleased = true;
- }
-
- protected void tick()
- {
- if(isDown)
- {
- time++;
- if(isReleased)
- {
- isDown = false;
- }
- }
- else if(isReleased)
- {
- isReleased = false;
- time = 0;
- }
- }
-
- public boolean isReleased()
- {
- return isReleased;
- }
-
- public boolean isUp()
- {
- return !isDown;
- }
-
- public boolean isDown()
- {
- return isDown;
- }
-
- public int getTime()
- {
- return time;
- }
-
- public void setTime(int time)
- {
- this.time = time;
- }
-
- protected void setKey(int key)
- {
- this.key = key;
- name = null;
- }
-
- public int getKey()
- {
- return key;
- }
- }
|