package net.sf.robocode.battle.peer; import java.awt.geom.Line2D; import java.util.List; import robocode.control.snapshot.BulletState; public interface ProjectilePeer { public void checkCollision(List<? extends ProjectilePeer> projectiles); public abstract int getId(); public abstract double getHeading(); public abstract RobotPeer getOwner(); public abstract double getPower(); public abstract RobotPeer getVictim(); public abstract double getX(); public abstract double getY(); public abstract double getLastX(); public abstract double getLastY(); public abstract double getPaintX(); public abstract double getPaintY(); public abstract boolean isActive(); public abstract int getColor(); public abstract void setHeading(double newHeading); public abstract void setPower(double newPower); public abstract void setVictim(RobotPeer newVictim); public abstract void setX(double newX); public abstract void setY(double newY); public abstract void update(List<RobotPeer> robots, List<? extends ProjectilePeer> projectiles); public abstract void nextFrame(); public abstract int getExplosionImageIndex(); public abstract Line2D.Double getBoundingLine(); public abstract BulletState getState(); public abstract void setState(BulletState bulletState); public abstract int getFrame(); public abstract void setFrame(int frame); }