private void InternalAddDirectories(D2pEntry entry) { string[] directories = entry.GetDirectoriesName(); if (directories.Length == 0) { return; } D2pDirectory current = null; if (!HasDirectory(directories[0])) { current = new D2pDirectory(directories[0]); m_rootDirectories.Add(current); } else { current = TryGetDirectory(directories[0]); } current.Entries.Add(entry); foreach (string directory in directories.Skip(1)) { if (!current.HasDirectory(directory)) { var dir = new D2pDirectory(directory) { Parent = current }; current.Directories.Add(dir); current = dir; } else { current = current.TryGetDirectory(directory); } current.Entries.Add(entry); } entry.Directory = current; }
private void InternalAddDirectories(D2pEntry entry) { string[] directories = entry.GetDirectoriesName(); if (directories.Length == 0) { return; } D2pDirectory current = null; if (!m_rootDirectories.ContainsKey(directories[0])) { m_rootDirectories.Add(directories[0], current = new D2pDirectory(directories[0])); } else { current = m_rootDirectories[directories[0]]; } current.Entries.Add(entry); foreach (string directory in directories.Skip(1)) { var next = current.TryGetDirectory(directory); if (next == null) { var dir = new D2pDirectory(directory) { Parent = current }; current.Directories.Add(directory, dir); current = dir; } else { current = current.TryGetDirectory(directory); } current.Entries.Add(entry); } entry.Directory = current; }
private void InternalAddDirectories(D2pEntry entry) { string[] directories = entry.GetDirectoriesName(); if (directories.Length == 0) return; D2pDirectory current = null; if (!m_rootDirectories.ContainsKey(directories[0])) { m_rootDirectories.Add(directories[0], current = new D2pDirectory(directories[0])); } else { current = m_rootDirectories[directories[0]]; } current.Entries.Add(entry); foreach (string directory in directories.Skip(1)) { var next = current.TryGetDirectory(directory); if (next == null) { var dir = new D2pDirectory(directory) { Parent = current }; current.Directories.Add(directory, dir); current = dir; } else { current = current.TryGetDirectory(directory); } current.Entries.Add(entry); } entry.Directory = current; }
private void InternalAddDirectories(D2pEntry entry) { var directories = entry.GetDirectoriesName(); if (directories.Length == 0) return; D2pDirectory current = null; if (!HasDirectory(directories[0])) { current = new D2pDirectory(directories[0]); m_rootDirectories.Add(current); } else { current = TryGetDirectory(directories[0]); } current.Entries.Add(entry); foreach (var directory in directories.Skip(1)) { if (!current.HasDirectory(directory)) { var dir = new D2pDirectory(directory) { Parent = current }; current.Directories.Add(dir); current = dir; } else { current = current.TryGetDirectory(directory); } current.Entries.Add(entry); } entry.Directory = current; }