Beispiel #1
0
        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;
        }
Beispiel #2
0
        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;
        }
Beispiel #3
0
        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;
        }
Beispiel #4
0
        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;
        }