- RenderGraph.Compile/Execute now return Error for better failure detection; error handling is propagated throughout compiler and executor. - Renamed ScheduleReleaseResource to ReleaseResource for clarity; updated all usages. - ResourceManager now calls ReleaseResource directly on Mesh, Material, and Shader types. - Camera exposes Actual/Virtual size properties and Render returns Error. - RenderingContext now uses IResourceManager for mesh/resource ops. - Replaced custom BinaryWriter with BufferWriter in RenderGraphHasher. - Improved variable naming, interface signatures, and code formatting. - Added Error extension for IsSuccess/IsFailure. - Minor FMOD/native interop and test code cleanups. - No breaking API changes except for new Error return values on some methods.
53 lines
1.4 KiB
C#
53 lines
1.4 KiB
C#
using Ghost.Editor.Core;
|
|
|
|
namespace Ghost.Editor.View.Controls;
|
|
|
|
internal partial class ProjectBrowser
|
|
{
|
|
[ContextMenuItem("project-browser", "Show in Explorer")]
|
|
private static void ShowInExplorer()
|
|
{
|
|
var path = LastFocused?.ViewModel.CurrentDirectoryPath;
|
|
if (!Directory.Exists(path))
|
|
{
|
|
return;
|
|
}
|
|
|
|
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo()
|
|
{
|
|
FileName = path,
|
|
UseShellExecute = true,
|
|
Verb = "open"
|
|
});
|
|
}
|
|
|
|
[ContextMenuItem("project-browser", "Create/Folder")]
|
|
private static void CreateFolder()
|
|
{
|
|
// TODO: Use AssetService
|
|
|
|
var viewModel = LastFocused?.ViewModel;
|
|
if (viewModel is null)
|
|
{
|
|
return;
|
|
}
|
|
|
|
var currentDir = viewModel.CurrentDirectoryPath;
|
|
if (!Directory.Exists(currentDir))
|
|
{
|
|
return;
|
|
}
|
|
|
|
var newFolderPath = Path.Combine(currentDir, "New Folder");
|
|
var folderIndex = 1;
|
|
while (Directory.Exists(newFolderPath))
|
|
{
|
|
newFolderPath = Path.Combine(currentDir, $"New Folder ({folderIndex})");
|
|
folderIndex++;
|
|
}
|
|
|
|
Directory.CreateDirectory(newFolderPath);
|
|
// Refresh the view model to show the new folder
|
|
viewModel.NavigateToDirectory(currentDir);
|
|
}
|
|
} |