//by nesting level and grouping key cut the full path to the directory public static string GetFullNameFromIndex(string key, int index) { if (key.Length == 1) { return(getFirstDir(key)); } var subkeys = new List <string>(); for (int i = 0; i < key.Length - 1; i++) { subkeys.Add(key.Substring(0, i + 1)); } subkeys[0] = getFirstDir(key); for (int i = 0; i < subkeys.Count; i++) { if (ReservedStrings.ContainsKey(subkeys[i].ToLowerInvariant())) { subkeys[i] = subkeys[i] + "-"; } } if (ReservedStrings.ContainsKey(key.ToLowerInvariant())) { key = key + "-"; } var separator = Path.DirectorySeparatorChar.ToString(); var minString = string.Join(separator, subkeys.Take(index + 1).ToArray()); return(Path.Combine(minString, key)); }
public static string GetFolderForMapname(string mapName) { if (ReservedStrings.ContainsKey(mapName.ToLowerInvariant())) { mapName = mapName + "-"; } return(Path.Combine(getFirstDir(mapName), mapName)); }