@Override
	public void render(Graphics g, Visibility visibility, float x, float y, float scale) {
		if(visibility == Visibility.VISIBLE) {
			Animation anim;
			if(isMoving())
				anim = moveAnim[toIndex(getFacing())];
			else if(isCancelingMove() || isRecoveringFromCanceledMove())
				anim = bumpAnim[toIndex(getFacing())];
			else {
				anim = standAnim[toIndex(getFacing())];
				for(int i = 0; i < moveAnim.length; i++)
					moveAnim[i].restart();
			}
			anim.draw(x - 11.5f * scale, y - 22 * scale, 23 * scale, 32 * scale);
		}
	}