Popcorning Guinea Pig
Search Results for

    Show / Hide Table of Contents

    Class LooseFileVirtualFileSystem

    Reads assets directly from disk. Used as the default loader when no .cecal archive is present (development builds running from bin output) and as the fallback tier inside CompositeVirtualFileSystem.

    Inheritance
    object
    LooseFileVirtualFileSystem
    Implements
    IVirtualFileSystem
    IDisposable
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: PopcorningGuineaPig.Engine.Assets.Cecal
    Assembly: PopcorningGuineaPig.Engine.dll
    Syntax
    public sealed class LooseFileVirtualFileSystem : IVirtualFileSystem, IDisposable

    Constructors

    | Edit this page View Source

    LooseFileVirtualFileSystem(string?)

    Creates a loose-file VFS. When rootDirectory is null, relative paths are resolved against the current working directory exactly as ReadAllText(string) would — this preserves byte-for-byte the legacy behavior of engine code that called File.* directly.

    Declaration
    public LooseFileVirtualFileSystem(string? rootDirectory = null)
    Parameters
    Type Name Description
    string rootDirectory

    Methods

    | Edit this page View Source

    Dispose()

    Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

    Declaration
    public void Dispose()
    | Edit this page View Source

    Exists(string)

    Returns true if logicalPath can be resolved by this VFS. Does not open the asset; use TryOpen(string, out Stream) for that.

    Declaration
    public bool Exists(string logicalPath)
    Parameters
    Type Name Description
    string logicalPath
    Returns
    Type Description
    bool
    | Edit this page View Source

    ResolveToTempFile(string)

    Resolves the asset to an absolute filesystem path that a native loader (e.g. Raylib.LoadModel) can consume directly. Packed implementations extract to a cached temp file; loose implementations return the asset's on-disk location unchanged. Returns null on miss.

    Declaration
    public string? ResolveToTempFile(string logicalPath)
    Parameters
    Type Name Description
    string logicalPath
    Returns
    Type Description
    string
    Remarks

    This exists because raylib-cs 7.0.1 has no LoadModelFromMemory and OwnAudioNET's FileSource accepts only a file path. Temp files are cached for the process lifetime and cleaned up on exit.

    | Edit this page View Source

    TryOpen(string, out Stream)

    Opens a read-only, seekable Stream over the asset bytes. The caller owns the stream and must dispose it. Returns false on miss.

    Declaration
    public bool TryOpen(string logicalPath, out Stream stream)
    Parameters
    Type Name Description
    string logicalPath
    Stream stream
    Returns
    Type Description
    bool
    | Edit this page View Source

    TryReadAllBytes(string, out byte[])

    Reads the entire asset into a new byte array. Returns false on miss.

    Declaration
    public bool TryReadAllBytes(string logicalPath, out byte[] bytes)
    Parameters
    Type Name Description
    string logicalPath
    byte[] bytes
    Returns
    Type Description
    bool
    | Edit this page View Source

    TryReadAllText(string, out string)

    Reads the entire asset as UTF-8 text. Returns false on miss.

    Declaration
    public bool TryReadAllText(string logicalPath, out string text)
    Parameters
    Type Name Description
    string logicalPath
    string text
    Returns
    Type Description
    bool

    Implements

    IVirtualFileSystem
    IDisposable
    • Edit this page
    • View Source
    In this article
    Back to top © 2024 Popcorning Guinea Pig Game Engine. A custom C# game engine for indie developers.