MoonTools.NETPhysFS/README.md

33 lines
1.0 KiB
Markdown

# MoonTools.NETPhysFS
[![Build Status](https://drone.moonside.games/api/badges/MoonsideGames/MoonTools.NETPhysFS/status.svg)](https://drone.moonside.games/MoonsideGames/MoonTools.NETPhysFS)
## PhysFS wrapper for .NET Standard
This library is a .NET Standard wrapper around the cross-platform IO libary [PhysFS](https://icculus.org/physfs/).
It provides *IEnumerable* iterators to avoid creating garbage, and a *Stream* subclass for easy usage.
## Installation
You can use this library by adding it as a submodule and then referencing it in your .csproj file.
```sh
git submodule add https://gitea.moonside.games/MoonsideGames/MoonTools.NETPhysFS.git
```
You must also include a compiled binary of PhysFS for your platform for this to work properly.
## Example
```csharp
using var pfs = new PhysFS(""); // automatic dispose pattern
using (var reader = new StreamReader(pfs.OpenRead("/helloworld.txt")))
{
var contents = reader.ReadToEnd();
}
```
## Acknowledgements
This project was forked from the very helpful SharpPhysFS by Francesco Bertolaccini.