private List <int[]> GetSurroundingTypeCoords(LevelTemplate levelTemplate, int[] coords, RoomTemplate.RoomType roomType) { List <int[]> surroundingAvailableCoords = new List <int[]>(); int[][] surroundingCoords = GetSurroundingCoords(coords); foreach (int[] surroundingCoord in surroundingCoords) { if (levelTemplate.IsInside(surroundingCoord) && levelTemplate.GetMap(surroundingCoord).GetRoomType() == roomType) { surroundingAvailableCoords.Add(surroundingCoord); } } return(surroundingAvailableCoords); }
private List <RoomTemplate> GetPotentialConnectRooms(LevelTemplate levelTemplate, int[] coords, int[] previousCoords) { List <RoomTemplate> potentialRooms = new List <RoomTemplate>(); int[][] surroundingCoords = GetSurroundingCoords(coords); foreach (int[] surroundingCoord in surroundingCoords) { if (surroundingCoord != previousCoords && levelTemplate.IsInside(surroundingCoord)) { RoomTemplate surroundingRoom = levelTemplate.GetMap(surroundingCoord); if (surroundingRoom.GetRoomType() == RoomTemplate.RoomType.MAIN || surroundingRoom.GetRoomType() == RoomTemplate.RoomType.OFFSHOOT) { potentialRooms.Add(surroundingRoom); } } } return(potentialRooms); }