protected virtual List <NamedMapDescription> GetMapDescriptions(NamedGraph namedGraph) { var mapDescriptions = new List <NamedMapDescription>(); foreach (var corridorOffsets in GetCorridorOffsets()) { mapDescriptions.AddRange(GetMapDescriptions(namedGraph, corridorOffsets)); } return(mapDescriptions); }
protected virtual List <NamedMapDescription> GetMapDescriptions(NamedGraph namedGraph, List <int> corridorOffsets) { var withCorridors = corridorOffsets[0] != 0; var canTouch = Options.CanTouch || !withCorridors; var basicRoomDescription = GetBasicRoomDescription(); var corridorRoomDescription = withCorridors ? GetCorridorRoomDescription(corridorOffsets) : null; var mapDescription = MapDescriptionUtils.GetBasicMapDescription(namedGraph.Graph, basicRoomDescription, corridorRoomDescription, withCorridors); var name = MapDescriptionUtils.GetInputName(namedGraph.Name, Options.Scale, withCorridors, corridorOffsets, canTouch); return(new List <NamedMapDescription>() { new NamedMapDescription(mapDescription, name, withCorridors) }); }
protected override List <NamedMapDescription> GetMapDescriptions(NamedGraph namedGraph, List <int> corridorOffsets) { var withCorridors = corridorOffsets[0] != 0; var canTouch = Options.CanTouch || !withCorridors; var corridorRoomDescription = withCorridors ? GetCorridorRoomDescription(corridorOffsets, roomTemplatesSet == RoomTemplatesSet.Original ? 1 : 2) : null; var mapDescription = new MapDescription <int>(); var graph = namedGraph.Graph; foreach (var room in graph.Vertices) { var basicRoomDescription = GetBasicRoomDescription(graph, room); mapDescription.AddRoom(room, basicRoomDescription); } var counter = graph.VerticesCount; foreach (var connection in graph.Edges) { if (withCorridors) { mapDescription.AddRoom(counter, corridorRoomDescription); mapDescription.AddConnection(connection.From, counter); mapDescription.AddConnection(connection.To, counter); counter++; } else { mapDescription.AddConnection(connection.From, connection.To); } } var name = MapDescriptionUtils.GetInputName(namedGraph.Name, Options.Scale, withCorridors, corridorOffsets, canTouch); return(new List <NamedMapDescription>() { new NamedMapDescription(mapDescription, name, withCorridors) }); }
public NamedMapDescription(IMapDescription <int> mapDescription, NamedGraph graph, bool isWithCorridors) { MapDescription = mapDescription; IsWithCorridors = isWithCorridors; Name = graph.Name; }