Popcorning Guinea Pig
Search Results for

    Show / Hide Table of Contents

    Interface IVirtualFileSystem

    Runtime asset resolver. Implementations may read from a packed .cecal archive, loose files on disk, or a composite that tries multiple sources in order. Logical paths use forward slashes and are matched case-insensitively — callers may pass either Windows- or POSIX-style separators and the VFS normalizes them.

    Inherited Members
    IDisposable.Dispose()
    Namespace: PopcorningGuineaPig.Engine.Assets.Cecal
    Assembly: PopcorningGuineaPig.Engine.dll
    Syntax
    public interface IVirtualFileSystem : IDisposable

    Methods

    | 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
    bool Exists(string logicalPath)
    Parameters
    Type Name Description
    string logicalPath
    Returns
    Type Description
    bool
    | Edit this page View Source

    ResolveDirectoryToTemp(string)

    Extracts all entries whose logical path starts with the given directory prefix to temp files, preserving relative directory structure. Required for formats like GLTF that reference companion files (.bin, textures) via relative URIs. No-op for implementations that serve files directly from disk.

    Declaration
    void ResolveDirectoryToTemp(string directoryPrefix)
    Parameters
    Type Name Description
    string directoryPrefix
    | 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
    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
    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
    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
    bool TryReadAllText(string logicalPath, out string text)
    Parameters
    Type Name Description
    string logicalPath
    string text
    Returns
    Type Description
    bool
    • 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.