package tc.oc.pgm.tracker.damage; import javax.annotation.Nullable; import tc.oc.commons.core.inspect.Inspectable; import tc.oc.pgm.match.ParticipantState; public class FireInfo extends Inspectable.Impl implements OwnerInfo, CauseInfo, DamageInfo { @Inspect private final @Nullable PhysicalInfo igniter; public FireInfo(@Nullable PhysicalInfo igniter) { this.igniter = igniter; } public FireInfo() { this(null); } public @Nullable PhysicalInfo getIgniter() { return igniter; } @Override public PhysicalInfo getCause() { return getIgniter(); } @Override public @Nullable ParticipantState getOwner() { return igniter == null ? null : igniter.getOwner(); } @Override public @Nullable ParticipantState getAttacker() { return getOwner(); } }