Package com.googlecode.jumpnevolve.game.physic

Source Code of com.googlecode.jumpnevolve.game.physic.Follower

package com.googlecode.jumpnevolve.game.physic;

import java.util.LinkedList;

import org.newdawn.slick.Color;
import org.newdawn.slick.Graphics;
import org.newdawn.slick.Input;

import com.googlecode.jumpnevolve.graphics.GraphicUtils;
import com.googlecode.jumpnevolve.graphics.ResourceManager;
import com.googlecode.jumpnevolve.graphics.world.AbstractObject;
import com.googlecode.jumpnevolve.graphics.world.World;
import com.googlecode.jumpnevolve.math.ShapeFactory;
import com.googlecode.jumpnevolve.math.Vector;

public class Follower extends AbstractObject {

  /**
   *
   */
  private static final long serialVersionUID = 336126625516157155L;

  private final AbstractObject toFollow;
  private LinkedList<Vector> points = new LinkedList<Vector>();
  private final int maxSize;

  public Follower(World world, AbstractObject toFollow, int maxSize) {
    super(world, ShapeFactory.createCircle(Vector.ZERO, 1));
    this.toFollow = toFollow;
    this.maxSize = maxSize;
  }

  @Override
  protected void specialSettingsPerRound(Input input) {
    this.points.addFirst(this.toFollow.getPosition());
    if(this.points.size() > this.maxSize){
      this.points.removeLast();
    }
  }

  public void draw(Graphics g) {
    Color c = g.getColor();
    g.setColor(Color.yellow);
    for (int i = 0; i < points.size() - 1; i++) {
      GraphicUtils.drawLine(g, points.get(i), points.get(i + 1));
    }
    g.setColor(c);
  }
}
TOP

Related Classes of com.googlecode.jumpnevolve.game.physic.Follower

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.