package holo.bolt.world.map.tile;

import holo.bolt.entity.Entity;
import holo.bolt.entity.Hitbox;
import holo.bolt.render.Render;

public abstract class Tile
{
	public static final int size = 64;
	
	public Hitbox box;
	public float[] pos;
	public Tile(float[] position)
	{
		pos = position;
		if (this.collidable())
		{
			float[] s = {size, size};
			box = new Hitbox(pos, s);
		}
	}
	
	public Hitbox getHitbox()
	{
		if (this.collidable())
			return box;
		else
			return null;
	}
	
	public abstract int getTileID();
	
	public abstract boolean collidable();
	
	public abstract Render getRenderer();
	
	public abstract String textureLoc();
	
	public abstract void onCollideWithEntity(Entity entity);
}
