mdbd/src/main/java/dev/loki/phase/RoleAssignPhase.java

56 lines
No EOL
1.4 KiB
Java

package dev.loki.phase;
import dev.loki.core.GameSession;
import dev.loki.role.RoleAssigner;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.NamedTextColor;
import org.bukkit.Bukkit;
public class RoleAssignPhase implements Phase {
private final RoleAssigner assigner;
private int ticksLeft;
private boolean complete;
private final boolean skipDelay;
public RoleAssignPhase(RoleAssigner assigner) {
this(assigner, false);
}
public RoleAssignPhase(RoleAssigner assigner, boolean skipDelay) {
this.assigner = assigner;
this.complete = false;
this.skipDelay = skipDelay;
}
@Override
public void enter(GameSession session) {
if (skipDelay) {
ticksLeft = 0;
} else {
ticksLeft = session.getConfig().getRoleAssignDelay() * 20;
}
assigner.assignRoles(session);
}
@Override
public void tick(GameSession session) {
if (skipDelay) {
complete = true;
return;
}
ticksLeft--;
if (ticksLeft <= 0) {
complete = true;
}
}
@Override
public void exit(GameSession session) {
Bukkit.broadcast(Component.text("[DBD] Роли назначены!", NamedTextColor.GREEN));
}
@Override
public boolean isComplete() {
return complete;
}
}