Editor/ShaderGraphPlus/ShaderGraphPlusFileSystem.cs
namespace ShaderGraphPlus;

internal static class ShaderGraphPlusFileSystem
{
	public static BaseFileSystem Root => Editor.FileSystem.Libraries.CreateSubSystem( GetLibraryFolderName() );

	/// <summary>
	/// Get the name of the Shader Graph Plus library folder.
	/// </summary>
	private static string GetLibraryFolderName()
	{
		var stagingName = "quack.shadergraphplus_staging";
		var releaseName = "quack.shadergraphplus";
		var staging_path = $"{Project.Current.GetRootPath().Replace( '\\', '/' )}/Libraries/{stagingName}";
		var release_path = $"{Project.Current.GetRootPath().Replace( '\\', '/' )}/Libraries/{releaseName}";

		if ( Directory.Exists( staging_path ) )
		{
			return stagingName;
		}
		else if ( Directory.Exists( release_path ) )
		{
			return releaseName;
		}

		// No valid path exists.
		return null;
	}
}