SafeLogic.java
package io.github.some_example_name;
public class SafeLogic {
private final String code;
private final StringBuilder input = new StringBuilder();
private boolean checked = false;
private boolean searched = false;
private boolean message = false;
private boolean triggered = false;
private float wait = 3f;
public SafeLogic(String code){
this.code = code;
}
public boolean isChecked() {
return checked;
}
public boolean isSearched() {
return searched;
}
public boolean isMessage() {
return message;
}
public boolean isTriggered() {
return triggered;
}
public String getInput() {
return input.toString();
}
public void check(float distance, boolean ePressed) {
if (!searched && !checked && ePressed && distance < 30f) {
checked = true;
input.setLength(0);
}
}
public void enterDigit(int digit) {
if (checked && digit >= 0 && digit <= 9) {
input.append((char) ('0' + digit));
}
}
public void backspace() {
if (checked && input.length() > 0) {
input.deleteCharAt(input.length() - 1);
}
}
public void enter() {
if (!checked) {
return;
}
if (input.toString().equals(code)) {
searched = true;
message = true;
triggered = true;
}
checked = false;
}
public void updateMessage(float delta) {
if (message) {
wait -= delta;
if (wait <= 0) {
message = false;
}
}
}
}