package zero1hd.polyjet.entity;

import com.badlogic.gdx.math.Rectangle;

public interface Entity {
	/**
	 * Called whenever a collision is detected
	 * @param entity is the entity that hit this one.
	 */
	public void collided(Entity entity);
	
	/**
	 * gets the box that represents the hit box to calculate whether there is a collision or not
	 * @return the object that represents the hit box
	 */
	public Rectangle getHitZone();
	
	/**
	 * gets the type of entity this entity is
	 * @return the entity type
	 */
	public Entities getEntityType();
	
	/**
	 * If this entity's life span is over, it should be considered dead. Useful for knowing what can be freed in a pool scenario.
	 * @return if this entity is dead or not.
	 */
	public boolean isDead();
}
