package it.marteEngine.game.starcleaner;
import it.marteEngine.entity.Entity;
import org.newdawn.slick.Color;
import org.newdawn.slick.GameContainer;
import org.newdawn.slick.Graphics;
import org.newdawn.slick.SlickException;
import org.newdawn.slick.geom.Rectangle;
public class Blender extends Entity {
public static final String BLENDER_TYPE = "Blender";
private Color blendColor = null;
int alpha, millis;
int milliStep;
int milliCount;
Rectangle rect;
public Blender(float x, float y, int width, int height, Color col,
int millisecondsToBlend) {
super(x, y);
depth = 255; // on top of everything
this.addType(BLENDER_TYPE);
blendColor = new Color(col);
this.alpha = 0;
this.millis = millisecondsToBlend;
this.milliStep = millisecondsToBlend / 255;
if (milliStep <= 0)
milliStep = 1;
milliCount = 0;
rect = new Rectangle(0, 0, width, height);
}
public void update(GameContainer container, int delta)
throws SlickException {
milliCount += delta;
while (milliCount > milliStep) {
milliCount -= milliStep;
millis -= milliStep;
alpha++;
if (alpha > 255)
alpha = 255;
}
if (millis <= 0)
Globals.blenderDone = true;
}
public void render(GameContainer container, Graphics g) {
blendColor.a = (float) alpha / 255.0f;
g.setColor(blendColor);
g.fill(rect);
g.draw(rect);
}
}