Пример #1
0
        private void LoadChildren()
        {
            try
            {
                DirectoryInfo[] lDirectoryInfoArray = directoryInfoSelf.GetDirectories("*", SearchOption.TopDirectoryOnly);

                if (lDirectoryInfoArray.Length > 0)
                {
                    haveChildren = true;

                    if (root.DirectoryInfoSelected.FullName.IndexOf(directoryInfoSelf.FullName) == 0)
                    {
                        isDisplayChildren = true;

                        for (int i = 0; i < lDirectoryInfoArray.Length; i++)
                        {
                            UiDirectoryTree lViewDirectoryTree = new UiDirectoryTree(root, lDirectoryInfoArray[i]);

                            childList.Add(lViewDirectoryTree);
                        }
                    }
                }
            }
            catch (Exception aExpection)
            {
                Logger.BreakDebug("Exception:" + aExpection);
                Logger.BreakDebug("FullName:" + directoryInfoSelf.FullName);
            }
        }
Пример #2
0
        public void Awake()
        {
            uiDirectoryTree       = new UiDirectoryTree(directoryInfoRecentList[0].Root, directoryInfoRecentList[0]);
            directoryInfoSelected = directoryInfoRecentList[0];
            int   position    = uiDirectoryTree.GetItemPositionDisplay() - 2;
            float lHeightLine = GuiStyleSet.StyleList.toggleLine.CalcSize(new GUIContent("")).y;

            positionScrollDirectory.y = ( float )position * lHeightLine;
        }
Пример #3
0
        private UiDirectoryTree(UiDirectoryTree aRoot, DirectoryInfo aDirectoryInfo)
        {
            isDisplayChildren = false;
            haveChildren      = false;
            directoryInfoSelf = aDirectoryInfo;
            root      = aRoot;
            childList = new List <UiDirectoryTree>();

            LoadChildren();
        }
Пример #4
0
        // ルート用のコンストラクタ.
        public UiDirectoryTree(DirectoryInfo aDirectoryInfo, DirectoryInfo aDirectoryInfoCurrent)
        {
            isDisplayChildren     = false;
            haveChildren          = false;
            directoryInfoSelf     = aDirectoryInfo;
            DirectoryInfoSelected = aDirectoryInfoCurrent;
            root      = this;
            childList = new List <UiDirectoryTree>();

            LoadChildren();
        }
Пример #5
0
        public void OnGUI()
        {
            Toggle();

            if (isDisplayChildren == true)
            {
                if (haveChildren == true)
                {
                    if (childList.Count == 0)
                    {
                        DirectoryInfo[] lDirectoryInfoArray = directoryInfoSelf.GetDirectories("*", SearchOption.TopDirectoryOnly);

                        for (int i = 0; i < lDirectoryInfoArray.Length; i++)
                        {
                            UiDirectoryTree lViewDirectoryTree = new UiDirectoryTree(root, lDirectoryInfoArray[i]);

                            childList.Add(lViewDirectoryTree);
                        }
                    }

                    GUILayout.BeginHorizontal();
                    {
                        GUILayout.Space(GuiStyleSet.StyleList.toggleOpenClose.fixedWidth + GuiStyleSet.StyleList.toggleOpenClose.margin.left + GuiStyleSet.StyleList.toggleOpenClose.margin.right);

                        GUILayout.BeginVertical();
                        {
                            for (int i = 0; i < childList.Count; i++)
                            {
                                childList[i].OnGUI();
                            }
                        }
                        GUILayout.EndVertical();
                    }
                    GUILayout.EndHorizontal();
                }
            }
        }