Пример #1
0
        override public void Show()
        {
            for (int i = 0; i < Children.Count; i++)
            {
                WindowSize.Initialization();
                if (!Children[i].ThisDisk)
                {
                    if (Children[i].CoordinateCurrentDyrectory >= WindowSize.MaximumHeight)
                    {
                        WindowSize.MaximumHeight++;
                        WindowSize.Minimum++;
                    }

                    if (Children[i].CoordinateCurrentDyrectory <= WindowSize.Minimum)
                    {
                        WindowSize.MaximumHeight--;
                        WindowSize.Minimum--;
                    }
                }

                if (Children[i].Coordinate >= WindowSize.Minimum && Children[i].Coordinate < WindowSize.MaximumHeight)
                {
                    int @switch = 0;
                    for (int j = 0; j < Children[i].IndentationsLength; j++)
                    {
                        if (@switch == 0)
                        {
                            Console.Write(' ');

                            @switch++;
                        }
                        else
                        {
                            if (!Children[i].ThisDisk)
                            {
                                Console.Write((char)0x2502);
                            }
                            @switch--;
                        }
                    }

                    if (i < Children.Count - 1)
                    {
                        if (i < Children.Count - 1 && Children[i] is Folder && Children[i + 1] is _File)
                        {
                            Console.Write((char)0x2514);
                        }
                        else if (Children[i] is Folder)
                        {
                            Console.Write((char)0x251C);
                        }
                        else
                        {
                            Console.Write((char)0x2502);
                            Console.Write("  ");
                        }
                    }
                    else
                    {
                        if (Children[i] is Folder)
                        {
                            Console.Write((char)0x2514);
                        }
                        else
                        {
                            Console.Write((char)0x2502);
                            Console.Write("  ");
                        }
                    }
                    Children[i].ShowName();
                }
                Children[i].Show();
            }
        }