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;
import toritools.scripting.ScriptUtils;
public class HealthPickup extends Entity {
public HealthPickup(final Vector2 position) {
type = "health";
layer = 1;
pos = position;
dim = new Vector2(20, 20);
addScript(new EntityScriptAdapter() {
boolean explodeDeath = true;
@Override
public void onUpdate(Entity self, float time, Level level) {
if (!ScriptUtils.isColliding(level, self)) {
level.despawnEntity(self);
explodeDeath = false;
}
self.setPos(self.getPos().add(new Vector2(-1, 0)));
}
@Override
public void onDeath(Entity self, Level level, boolean isRoomExit) {
if (explodeDeath)
level.spawnEntity(new Explosion(self.getPos(), Color.GREEN, self.getDim().x, 20));
}
});
setSprite(new AbstractSpriteAdapter() {
@Override
public void draw(Graphics2D g, Entity self) {
g.setColor(Color.GREEN);
g.fillOval((int) self.getPos().x, (int) (self.getPos().y), (int) self.getDim().x, (int) self.getDim().y);
}
});
}
}