package tc.oc.pgm.tracker.damage;
import javax.annotation.Nullable;
import tc.oc.commons.core.inspect.Inspectable;
import tc.oc.pgm.match.ParticipantState;
import tc.oc.pgm.time.TickTime;
import static com.google.common.base.Preconditions.checkNotNull;
public class SpleefInfo extends Inspectable.Impl implements DamageInfo, CauseInfo {
@Inspect private final DamageInfo breaker;
@Inspect private final TickTime time;
public SpleefInfo(DamageInfo breaker, TickTime time) {
this.breaker = checkNotNull(breaker);
this.time = checkNotNull(time);
}
@Override
public @Nullable ParticipantState getAttacker() {
return getBreaker().getAttacker();
}
@Override
public DamageInfo getCause() {
return breaker;
}
public DamageInfo getBreaker() {
return breaker;
}
public TickTime getTime() {
return time;
}
}