package rts.utils; import org.newdawn.slick.Color; import org.newdawn.slick.GameContainer; import org.newdawn.slick.Graphics; import org.newdawn.slick.SlickException; import rts.core.engine.Engine; import rts.core.engine.layers.Layer; import rts.core.engine.layers.entities.IEntity; public class MoveUpEffect implements IEntity { private Engine engine; private float x; private float y; private String text; private Color color; private Timer timer; public MoveUpEffect(Engine engine, float x, float y, String text, Color color, int time) { this.engine = engine; this.x = x; this.y = y; this.text = text; this.color = color; this.timer = new Timer(time); } @Override public void update(GameContainer container, int delta) { timer.update(delta); if (timer.isTimeComplete()) { this.y -= 3; this.color.a -= 0.05f; this.timer.resetTime(); } if (color.a < 0.1f) { engine.removeEntity(this); } } @Override public void render(GameContainer container, Graphics g) throws SlickException { g.setColor(color); g.drawString(text, x, y); } @Override public int getHeight() { return 0; } @Override public int getLayer() { return Layer.FIRST_EFFECT; } @Override public int getWidth() { return 0; } @Override public float getX() { return x; } @Override public float getY() { return y; } }