Stage 12: Data storage system
This commit is contained in:
parent
82ed455cd2
commit
4fd7955d56
62 changed files with 5613 additions and 0 deletions
77
src/main/java/dev/loki/survivor/SurvivorController.java
Normal file
77
src/main/java/dev/loki/survivor/SurvivorController.java
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
package dev.loki.survivor;
|
||||
|
||||
import dev.loki.player.PlayerState;
|
||||
import dev.loki.player.Survivor;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class SurvivorController {
|
||||
private final Survivor survivor;
|
||||
private final SurvivorMovement movement;
|
||||
private final SurvivorHealing healing;
|
||||
|
||||
public SurvivorController(Survivor survivor) {
|
||||
this.survivor = survivor;
|
||||
this.movement = new SurvivorMovement(this);
|
||||
this.healing = new SurvivorHealing(this);
|
||||
}
|
||||
|
||||
public void onSprintStart() {
|
||||
movement.onSprintStart();
|
||||
}
|
||||
|
||||
public void onSprintEnd() {
|
||||
movement.onSprintEnd();
|
||||
}
|
||||
|
||||
public void onHealAttempt(Player target) {
|
||||
healing.startHealing(target);
|
||||
}
|
||||
|
||||
public void tick() {
|
||||
movement.tick();
|
||||
healing.tick();
|
||||
updateSpeed();
|
||||
}
|
||||
|
||||
private void updateSpeed() {
|
||||
Player player = survivor.getPlayer();
|
||||
if (player == null) return;
|
||||
|
||||
float speed = movement.getCurrentSpeed();
|
||||
player.setWalkSpeed(speed);
|
||||
}
|
||||
|
||||
public void onStateChange(PlayerState newState) {
|
||||
movement.onStateChange(newState);
|
||||
}
|
||||
|
||||
public UUID getUuid() {
|
||||
return survivor.getUuid();
|
||||
}
|
||||
|
||||
public Survivor getSurvivor() {
|
||||
return survivor;
|
||||
}
|
||||
|
||||
public Player getPlayer() {
|
||||
return survivor.getPlayer();
|
||||
}
|
||||
|
||||
public PlayerState getState() {
|
||||
return survivor.getState();
|
||||
}
|
||||
|
||||
public boolean isDowned() {
|
||||
return survivor.getState() == PlayerState.DOWNED;
|
||||
}
|
||||
|
||||
public boolean isInjured() {
|
||||
return survivor.getState() == PlayerState.INJURED;
|
||||
}
|
||||
|
||||
public boolean isHealthy() {
|
||||
return survivor.getState() == PlayerState.HEALTHY;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue