Esempio n. 1
0
        /// <summary>
        /// あるノードの子階層にノードを追加するメソッド
        /// </summary>
        /// <param name="parent">親となるノード</param>
        /// <param name="splitedValues">追加するノードのパス</param>
        /// <param name="depth">splitedValuesの添え字として使用します。デフォルトでは0が指定されます。</param>
        public static GUITree <T> Add(GUITree <T> parent, string[] splitedValues, int depth = 0)
        {
            // 不正なパラメータのチェック
            if (parent == null)
            {
                return(parent);
            }
            if (splitedValues == null)
            {
                return(parent);
            }
            if (depth >= splitedValues.Length)
            {
                return(parent);
            }
            if (depth < 0)
            {
                return(parent);
            }

            // 新しいノードを追加する
            var result = parent.Add(splitedValues[depth]);

            // 再起的にノードを追加する
            return(Add(result, splitedValues, depth + 1));
        }
Esempio n. 2
0
        private void OnEnable()
        {
            mFoldoutTree = new GUITree <FoldoutTree>("Root");

            var lsit = GetFileList(Application.dataPath);

            string[] values = lsit.ToArray();
            for (int i = 0; i < values.Length; ++i)
            {
                GUITree <FoldoutTree> .Add(mFoldoutTree, values[i], separator : '\\');
            }

            string[] columns = new string[]
            {
                "番号",
                "パス",
                "更新日時",
                "作成日時",
                "読み書き",
                "サイズ",
            };

            mCells.SetCapacity(values.Length, columns.Length);
            mCells.SetColumnNames(columns);
            for (int i = 0; i < values.Length; ++i)
            {
                var fi    = new System.IO.FileInfo(values[i]);
                int index = 0;
                index = 0;
                mCells.SetCellValue(i, index++, i.ToString());
                mCells.SetCellValue(i, index++, fi.FullName);
                mCells.SetCellValue(i, index++, fi.LastWriteTime.ToString("yyyy/MM/dd hh:mm"));
                mCells.SetCellValue(i, index++, fi.CreationTime.ToString("yyyy/MM/dd hh:mm"));
                mCells.SetCellValue(i, index++, fi.IsReadOnly?"Read Only":"Read Write");
                mCells.SetCellValue(i, index++, fi.Length.ToString("#,0"));
            }
        }