package org.openbakery.racecontrol.plugin.penalty.data;
import org.openbakery.racecontrol.data.Driver;
public class Penalty {
private Driver driver;
private Type type;
private Reason reason;
private boolean isPending;
private long time;
public enum Reason {
CHAT,
ADMIN;
}
public enum Type {
DRIVE_THOUGH,
STOP_AND_GO,
CLEAR;
}
public Penalty(Driver driver, Type type, Reason reason) {
super();
this.driver = driver;
this.type = type;
this.reason = reason;
isPending = false;
time = System.currentTimeMillis();
}
public Driver getDriver() {
return driver;
}
public Type getType() {
return type;
}
public Reason getReason() {
return reason;
}
public String getPenaltyCommando() {
switch (type) {
case DRIVE_THOUGH:
return "/p_dt " + driver.getName();
case STOP_AND_GO:
return "/p_sg " + driver.getName();
case CLEAR:
return "/p_clear " + driver.getName();
}
return null;
}
public boolean isPending() {
return isPending;
}
public void setPending(boolean isPending) {
this.isPending = isPending;
}
public long getTime() {
return time;
}
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("Penalty[driver=");
builder.append(driver.getPlayerName());
builder.append(", type=");
builder.append(type);
builder.append(", reason=");
builder.append(reason);
builder.append("]");
return builder.toString();
}
}