/** IMovable: interface for objects that can move.
 * 
 * IMovable objects are ones with velocity, acceleration, and position.
 * A physics system can then update these states using the bounding
 * box and world state.  
 */

package edu.wisc.cs.games10.chrononaut;

public interface IMovable {
	// vectors indicating current motion
	Vector2D getLocation();
	Vector2D getVelocity();
	Vector2D getAcceleration();
	
	// bounding-box size (all sprites are some number of tiles large)
	float getTileWidth();
	float getTileHeight();
	
	boolean doesCollideWith(IMovable other);
	float getTerminalVelocity();
	void kill();
}
