Finished Project Editor.

Builder now supports parallel building.
This commit is contained in:
Creeper Lv
2026-01-13 03:33:49 +11:00
parent f4b43abc08
commit 04e67074d2
16 changed files with 290 additions and 92 deletions

View File

@@ -1,36 +1,43 @@
namespace Progrart.Core.Storage
{
public class ClassicStorageProvider : IStorageProvider
{
public DirectoryInfo BaseDirectory;
public class ClassicStorageProvider : IStorageProvider
{
public DirectoryInfo BaseDirectory;
public ClassicStorageProvider(DirectoryInfo baseDirectory)
{
BaseDirectory = baseDirectory;
}
public ClassicStorageProvider(DirectoryInfo baseDirectory)
{
BaseDirectory = baseDirectory;
}
public async Task<Stream?> TryOpenRead(string path)
{
try
{
public async Task<Stream?> TryOpenRead(string path)
{
try
{
return File.OpenRead(Path.Combine(BaseDirectory.FullName, path));
}
catch (Exception)
{
return null;
}
}
public async Task<Stream?> TryOpenWrite(string path)
{
try
{
return File.OpenWrite(Path.Combine(BaseDirectory.FullName, path));
}
catch (Exception)
catch (Exception)
{
return null;
}
}
}
public async Task<Stream?> TryOpenWrite(string path)
{
try
{
FileInfo fi = new FileInfo(Path.Combine(BaseDirectory.FullName, path));
var di = fi.Directory;
if (di is not null)
{
if (!di.Exists)
di.Create();
}
return File.OpenWrite(Path.Combine(BaseDirectory.FullName, path));
}
catch (Exception)
{
return null;
}
}
}
}