public Cluster(ConcreteMap concreteMap, int id, int clusterX, int clusterY, Position origin, Size size)
{
SubConcreteMap = concreteMap.Slice(origin.X, origin.Y, size.Width, size.Height, concreteMap.Passability);
Id = id;
ClusterY = clusterY;
ClusterX = clusterX;
Origin = origin;
Size = size;
Distances = new Dictionary<Tuple<int, int>, int>();
CachedPaths = new Dictionary<Tuple<int, int>, List<int>>();
DistanceCalculated = new Dictionary<Tuple<int, int>, bool>();
EntrancePoints = new List<EntrancePoint>();
}