@Override
	public void tick(int i, int j, int k) {
		oldPos = pos.copy();
		if(k != 1 && !letgo)
		{
			letGoTime = System.currentTimeMillis();
			interpolatePos = pos.copy();
			letgo = true;
			
			if(editor.getInspector().recieveDraggableObject(this))
			{
				shouldDelete = true;
				return;
			} else if(editor.getHeirarchy().recieveDraggableObject(this))
			{
				shouldDelete = true;
				return;
			}
		} else if(!letgo)
		{
			pos = new Vector2(i,j).subtract(mouseOffset);
			
			Vector2 vec = pos.subtract(origPos);//combined vector of old->new pos
			float length = (float) Math.sqrt(vec.x*vec.x+vec.y*vec.y);
			if(length > 20)
				hasShown = true;
		} else
		{
			long timesinceletgo = System.currentTimeMillis()-letGoTime;
			if(timesinceletgo > 200)
				shouldDelete = true;
			float time = Math.min(200, timesinceletgo)/200f;
			pos = Interpolator.linearInterpolate(interpolatePos, origPos, time);
		}
	}