package squidpony.squidgrid.zone;
/**
* Created by Tommy Ettinger on 11/24/2016.
*/
public interface ImmutableZone extends Zone {
/**
* Expands the area of this Zone in the four cardinal directions, performing the expansion consecutively
* {@code distance} times. Does not modify this Zone; returns a new Zone with the requested changes.
* @param distance the amount to expand outward using Manhattan distance (diamond shape)
* @return a freshly-constructed Zone with the requested changes
*/
Zone expand(int distance);
/**
* Expands the area of this Zone in the four cardinal and four diagonal directions, performing the expansion
* consecutively {@code distance} times. Does not modify this Zone; returns a new Zone with the requested changes.
* @param distance the amount to expand outward using Chebyshev distance (square shape)
* @return a freshly-constructed Zone with the requested changes
*/
Zone expand8way(int distance);
}