LockerLogic.java
package io.github.some_example_name;
/**
* Pure logic for Locker interaction and timers.
*/
public class LockerLogic {
private boolean searched = false;
private boolean showMessage = false;
private float messageTimer = 0f;
private float speedBoostTimer = 0f;
/**
* Called when the player successfully interacts with the locker.
*/
public void searchLocker() {
if (!searched) {
searched = true;
showMessage = true;
messageTimer = 0f;
speedBoostTimer = 10f;
}
}
/**
* Update timers.
*/
public void update(float delta) {
if (speedBoostTimer > 0f) {
speedBoostTimer -= delta;
}
if (showMessage) {
messageTimer += delta;
float messageDuration = 5f;
if (messageTimer >= messageDuration) {
showMessage = false;
}
}
}
public boolean isSearched() {
return searched;
}
public boolean isBoostActive() {
return speedBoostTimer > 0f;
}
public boolean shouldShowMessage() {
return showMessage;
}
}