From 1692f026437ee8263d006c196dc77aa507b2061a Mon Sep 17 00:00:00 2001 From: zc <1062808664@qq.com> Date: Wed, 18 Dec 2024 23:46:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9A=E9=87=8D=E5=86=99?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E7=B3=BB=E7=BB=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/ZXL/Scripts/FileSystem.meta | 3 ++ .../ZXL/Scripts/FileSystem/DirectoryInfo.cs | 50 +++++++++++++++++++ .../Scripts/FileSystem/DirectoryInfo.cs.meta | 3 ++ Assets/ZXL/Scripts/FileSystem/FileInfo.cs | 35 +++++++++++++ .../ZXL/Scripts/FileSystem/FileInfo.cs.meta | 3 ++ Assets/ZXL/Scripts/FileSystem/FileSystem.cs | 7 +++ .../ZXL/Scripts/FileSystem/FileSystem.cs.meta | 3 ++ .../ZXL/Scripts/FileSystem/FileSystemInfo.cs | 14 ++++++ .../Scripts/FileSystem/FileSystemInfo.cs.meta | 3 ++ Assets/ZXL/Scripts/Manager/ZFileSystem.cs | 7 --- .../ZXL/Scripts/Manager/ZFileSystem.cs.meta | 3 -- EditorTool3D.sln.DotSettings.user | 3 ++ 12 files changed, 124 insertions(+), 10 deletions(-) create mode 100644 Assets/ZXL/Scripts/FileSystem.meta create mode 100644 Assets/ZXL/Scripts/FileSystem/DirectoryInfo.cs create mode 100644 Assets/ZXL/Scripts/FileSystem/DirectoryInfo.cs.meta create mode 100644 Assets/ZXL/Scripts/FileSystem/FileInfo.cs create mode 100644 Assets/ZXL/Scripts/FileSystem/FileInfo.cs.meta create mode 100644 Assets/ZXL/Scripts/FileSystem/FileSystem.cs create mode 100644 Assets/ZXL/Scripts/FileSystem/FileSystem.cs.meta create mode 100644 Assets/ZXL/Scripts/FileSystem/FileSystemInfo.cs create mode 100644 Assets/ZXL/Scripts/FileSystem/FileSystemInfo.cs.meta delete mode 100644 Assets/ZXL/Scripts/Manager/ZFileSystem.cs delete mode 100644 Assets/ZXL/Scripts/Manager/ZFileSystem.cs.meta diff --git a/Assets/ZXL/Scripts/FileSystem.meta b/Assets/ZXL/Scripts/FileSystem.meta new file mode 100644 index 0000000..3026ebe --- /dev/null +++ b/Assets/ZXL/Scripts/FileSystem.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 4df538268f04411baf7e6ed3f6f30196 +timeCreated: 1734530869 \ No newline at end of file diff --git a/Assets/ZXL/Scripts/FileSystem/DirectoryInfo.cs b/Assets/ZXL/Scripts/FileSystem/DirectoryInfo.cs new file mode 100644 index 0000000..71a7d42 --- /dev/null +++ b/Assets/ZXL/Scripts/FileSystem/DirectoryInfo.cs @@ -0,0 +1,50 @@ +using System.Collections.Generic; + +namespace ZXLT.FileSystem +{ + public sealed class DirectoryInfo : FileSystemInfo + { + List directories = new List(); + List files = new List(); + + public override bool Exists { get; } + public override string Name => _name; + + public DirectoryInfo Parent + { + get + { + var directoryInfo = new DirectoryInfo(System.IO.Path.GetDirectoryName(FullPath)); + return directoryInfo; + } + } + + public DirectoryInfo Root => new DirectoryInfo(System.IO.Path.GetPathRoot(this.FullPath)); + + public DirectoryInfo(string path) + { + this.Init(path, System.IO.Path.GetFullPath(path), isNormalized: true); + FullPath = path; + _name = path; + } + + private void Init(string originalPath, string fullPath = null, string fileName = null, bool isNormalized = false) + { + if (fullPath == null) + fullPath = originalPath; + fullPath = isNormalized ? fullPath : System.IO.Path.GetFullPath(fullPath); + this._name = fileName; + this.FullPath = fullPath; + } + + public DirectoryInfo[] GetDirectories() + { + return directories.ToArray(); + } + + public FileInfo[] GetFiles() + { + return files.ToArray(); + } + } +} \ No newline at end of file diff --git a/Assets/ZXL/Scripts/FileSystem/DirectoryInfo.cs.meta b/Assets/ZXL/Scripts/FileSystem/DirectoryInfo.cs.meta new file mode 100644 index 0000000..2467ec0 --- /dev/null +++ b/Assets/ZXL/Scripts/FileSystem/DirectoryInfo.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 65370db5c69842b881243c312e0c3ce2 +timeCreated: 1734532009 \ No newline at end of file diff --git a/Assets/ZXL/Scripts/FileSystem/FileInfo.cs b/Assets/ZXL/Scripts/FileSystem/FileInfo.cs new file mode 100644 index 0000000..0b8b612 --- /dev/null +++ b/Assets/ZXL/Scripts/FileSystem/FileInfo.cs @@ -0,0 +1,35 @@ +using System; +using System.IO; + +namespace ZXLT.FileSystem +{ + public sealed class FileInfo : FileSystemInfo + { + public string Extension { get; } + public override bool Exists { get; } + public override string Name => _name; + public string? DirectoryName => Path.GetDirectoryName(this.FullPath); + + public DirectoryInfo Directory + { + get + { + string directoryName = this.DirectoryName; + return new DirectoryInfo(directoryName); + } + } + + public FileInfo(string fileName) + : this(fileName ?? throw new ArgumentNullException(nameof(fileName)), (string)null, (string)null, false) + { + } + + internal FileInfo(string originalPath, string fullPath = null, string fileName = null, bool isNormalized = false) + { + if (fullPath == null) + fullPath = originalPath; + this.FullPath = isNormalized ? fullPath ?? originalPath : Path.GetFullPath(fullPath); + this._name = fileName; + } + } +} \ No newline at end of file diff --git a/Assets/ZXL/Scripts/FileSystem/FileInfo.cs.meta b/Assets/ZXL/Scripts/FileSystem/FileInfo.cs.meta new file mode 100644 index 0000000..5a8eb6b --- /dev/null +++ b/Assets/ZXL/Scripts/FileSystem/FileInfo.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: fdedcd6447e4414195754ba8f1f67072 +timeCreated: 1734532019 \ No newline at end of file diff --git a/Assets/ZXL/Scripts/FileSystem/FileSystem.cs b/Assets/ZXL/Scripts/FileSystem/FileSystem.cs new file mode 100644 index 0000000..8885867 --- /dev/null +++ b/Assets/ZXL/Scripts/FileSystem/FileSystem.cs @@ -0,0 +1,7 @@ +namespace ZXLT.FileSystem +{ + public class FileSystem + { + + } +} \ No newline at end of file diff --git a/Assets/ZXL/Scripts/FileSystem/FileSystem.cs.meta b/Assets/ZXL/Scripts/FileSystem/FileSystem.cs.meta new file mode 100644 index 0000000..21f4a27 --- /dev/null +++ b/Assets/ZXL/Scripts/FileSystem/FileSystem.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: a1c6853ef5a44b3986a6a3854cc7ac1d +timeCreated: 1734530888 \ No newline at end of file diff --git a/Assets/ZXL/Scripts/FileSystem/FileSystemInfo.cs b/Assets/ZXL/Scripts/FileSystem/FileSystemInfo.cs new file mode 100644 index 0000000..6c1a5a9 --- /dev/null +++ b/Assets/ZXL/Scripts/FileSystem/FileSystemInfo.cs @@ -0,0 +1,14 @@ +using System; + +namespace ZXLT.FileSystem +{ + public abstract class FileSystemInfo + { + protected string _name; + protected string FullPath; + public DateTime CreationTime { get; set; } + public abstract bool Exists { get; } + public abstract string Name { get; } + public virtual string FullName => FullPath; + } +} \ No newline at end of file diff --git a/Assets/ZXL/Scripts/FileSystem/FileSystemInfo.cs.meta b/Assets/ZXL/Scripts/FileSystem/FileSystemInfo.cs.meta new file mode 100644 index 0000000..64d2f30 --- /dev/null +++ b/Assets/ZXL/Scripts/FileSystem/FileSystemInfo.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: f977646b313a4fa3a7a98a2454009041 +timeCreated: 1734532034 \ No newline at end of file diff --git a/Assets/ZXL/Scripts/Manager/ZFileSystem.cs b/Assets/ZXL/Scripts/Manager/ZFileSystem.cs deleted file mode 100644 index c5151f9..0000000 --- a/Assets/ZXL/Scripts/Manager/ZFileSystem.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace ZXL.Manager -{ - public class ZFileSystem - { - - } -} \ No newline at end of file diff --git a/Assets/ZXL/Scripts/Manager/ZFileSystem.cs.meta b/Assets/ZXL/Scripts/Manager/ZFileSystem.cs.meta deleted file mode 100644 index 9ce9729..0000000 --- a/Assets/ZXL/Scripts/Manager/ZFileSystem.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 63f2843889a64090a60431d1d84b908c -timeCreated: 1734501412 \ No newline at end of file diff --git a/EditorTool3D.sln.DotSettings.user b/EditorTool3D.sln.DotSettings.user index 435a05b..013f128 100644 --- a/EditorTool3D.sln.DotSettings.user +++ b/EditorTool3D.sln.DotSettings.user @@ -1,4 +1,7 @@  ForceIncluded + ForceIncluded ForceIncluded + ForceIncluded + ForceIncluded ForceIncluded \ No newline at end of file