package me.hammerle.snuviengine.api; public final class KeyBinding { private boolean isDown; private int time; private boolean isReleased; protected KeyBinding() { isDown = false; time = 0; isReleased = false; } 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; } }