using Sandbox.Engine;
namespace Sandbox;
///
/// A filesystem that can be accessed by the game.
///
public static class FileSystem
{
///
/// Normalizes given file path so the game's filesystem can understand it. Fixes slashes and lowercases the file path.
///
/// The file path to normalize
/// The normalized file path
public static string NormalizeFilename( string filepath ) => BaseFileSystem.NormalizeFilename( filepath );
///
/// All mounted content.
///
public static BaseFileSystem Mounted => GlobalContext.Current.FileMount;
///
/// A subset of for custom gamemode data.
///
public static BaseFileSystem Data => GlobalContext.Current.FileData;
///
/// A filesystem for custom data, per gamemode's organization.
///
public static BaseFileSystem OrganizationData => GlobalContext.Current.FileOrg;
///
/// A cached keystore that can be used for anything. This is stored in a global cache folder, and may be deleted at any time.
///
public static KeyStore Cache = KeyStore.CreateGlobalCache();
///
/// Create a filesystem that exists only in memory
///
public static BaseFileSystem CreateMemoryFileSystem() => new MemoryFileSystem();
}