/*Stuff to fix or change:
 * 
 * 1. Unsure about type of textureInfo variable
 * 2. Unsure about collidingWith method algorithms
 * 3. did not include class inheritances because collidable and snapshottable have not been implemented
 * 
 */

package ecse321.fall2014.group3.bomberman.physics.entity;

import ecse321.fall2014.group3.bomberman.physics.Collidable;
import ecse321.fall2014.group3.bomberman.world.tile.*;

import java.util.LinkedList;

public abstract class Entity extends Collidable {

	protected double velocity;

	protected enum Direction {
		UP,
		DOWN,
		LEFT,
		RIGHT;
	}

	Direction entityDirection;
	protected boolean collidingWith;
	LinkedList entityCollisionList = new LinkedList();
	LinkedList tileCollisionList = new LinkedList();

	public Entity() {

		velocity = 0;
		entityDirection = Direction.UP;
		collidingWith = false;
	}

	public double getVelocity() {
		return velocity;
	}

	public Direction getDirection() {
		return entityDirection;
	}

	public LinkedList getEntityCollisionList() {
		return entityCollisionList;
	}

	public LinkedList getTileCollisionList() {
		return tileCollisionList;

	}

	public boolean isCollidingWith(Tile t) {
		return collidingWith;
	}

	public boolean isCollidingWith(Entity e) {
		return collidingWith;
	}

	//	public abstract getTextureInfo();

}

@@ -234,17 +234,16 @@
  * %0A */%0A
-%0A
 package 
@@ -293,16 +293,116 @@
 ntity;%0A%0A
+import java.util.Collections;%0Aimport java.util.List;%0A%0Aimport com.flowpowered.math.vector.Vector2f;%0A%0A
 import e
@@ -510,39 +510,12 @@
 ile.
-*;%0A%0Aimport java.util.LinkedList
+Tile
 ;%0A%0Ap
@@ -563,18 +563,20 @@
 dable %7B%0A
-%0A%09
+    
 protecte
@@ -577,22 +577,24 @@
 otected 
-double
+Vector2f
  velocit
@@ -598,352 +598,96 @@
 city
-;%0A%0A%09protected enum Direction %7B%0A%09%09UP,%0A%09%09DOWN,%0A%09%09LEFT,%0A%09%09RIGHT;%0A%09%7D%0A%0A%09Direction entityDirection;%0A%09protected boolean collidingWith;%0A%09LinkedList entityCollisionList = new LinkedList();%0A%09LinkedList tileCollisionList = new LinkedList();%0A%0A%09public Entity() %7B%0A%0A%09%09velocity = 0;%0A%09%09entityDirection = Direction.UP;%0A%09%09collidingWith = false;%0A%09%7D%0A%0A%09public double
+ = Vector2f.ZERO;%0A    protected Direction direction = Direction.UP;%0A%0A    public Vector2f
  get
@@ -695,26 +695,32 @@
 elocity() %7B%0A
-%09%09
+        
 return veloc
@@ -724,21 +724,27 @@
 locity;%0A
-%09%7D%0A%0A%09
+    %7D%0A%0A    
 public D
@@ -773,119 +773,172 @@
 ) %7B%0A
-%09%09return entityDirection;%0A%09%7D%0A%0A%09public LinkedList getEntityCollisionList() %7B%0A%09%09return entityCollisionList;%0A%09%7D%0A%0A%09
+        return direction;%0A    %7D%0A%0A    public List%3CEntity%3E getEntityCollisionList() %7B%0A        // TODO: implement me%0A        return Collections.EMPTY_LIST;%0A    %7D%0A%0A    
 publ
@@ -946,16 +946,16 @@
 c Li
-nkedList
+st%3CTile%3E
  get
@@ -980,42 +980,88 @@
 ) %7B%0A
-%09%09return tileCollisionList;%0A%0A%09%7D%0A%0A%09
+        // TODO: implement me%0A        return Collections.EMPTY_LIST;%0A    %7D%0A%0A    
 publ
@@ -1097,113 +1097,189 @@
 le t
+ile
 ) %7B%0A
-%09%09return collidingWith;%0A%09%7D%0A%0A%09public boolean isCollidingWith(Entity e) %7B%0A%09%09return collidingWith;%0A%09%7D%0A%0A%09
+        // TODO: implement me%0A        return false;%0A    %7D%0A%0A    public boolean isCollidingWith(Entity entity) %7B%0A        // TODO: implement me%0A        return false;%0A    %7D%0A%0A    
 //%09p
@@ -1311,11 +1311,10 @@
 Info();%0A
-%0A
 %7D%0A

Fix Entity class