package audioProject.entities;
import java.awt.Color;
import java.awt.Graphics2D;
import toritools.entity.Entity;
import toritools.entity.Level;
import toritools.entity.sprite.AbstractSprite.AbstractSpriteAdapter;
import toritools.math.Vector2;
import toritools.scripting.EntityScript.EntityScriptAdapter;
public class Explosion extends Entity {
public Explosion (final Vector2 pos, final Color color, final float startingRadius, final float time) {
final float MAX_RADIUS = time + startingRadius;
setPos(pos);
setDim(new Vector2(startingRadius));
addScript(new EntityScriptAdapter(){
@Override
public void onUpdate(Entity self, float time, Level level) {
self.setDim(self.getDim().add(2));
self.setPos(self.getPos().sub(1));
if (self.getDim().x >= MAX_RADIUS) {
level.despawnEntity(self);
}
}
});
setSprite(new AbstractSpriteAdapter(){
@Override
public void draw(Graphics2D g, Entity self) {
g.setColor(color);
g.fillOval((int) self.getPos().x, (int) (self.getPos().y), (int) self.getDim().x, (int) self.getDim().y);
}
});
}
}