EgsLib 0.4.5
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package EgsLib --version 0.4.5
NuGet\Install-Package EgsLib -Version 0.4.5
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="EgsLib" Version="0.4.5" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add EgsLib --version 0.4.5
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: EgsLib, 0.4.5"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install EgsLib as a Cake Addin #addin nuget:?package=EgsLib&version=0.4.5 // Install EgsLib as a Cake Tool #tool nuget:?package=EgsLib&version=0.4.5
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
EGS Lib
Nuget |
---|
A useful library for interacting with Empyrion Galactic Survival game files.
Features
- Read blueprint (epb) files
- Read scenario configuration (ecf) files
- Parse playfield yaml into strongly typed .net objects
Examples
Dumping blueprints to JSON files
var inputFolder = "Foo";
var outputFolder = "Bar";
var files = Directory.EnumerateFiles(inputFolder, "*.epb");
var options = new JsonSerializerOptions
{
Converters =
{
new JsonStringEnumConverter(),
new Vector3Converter() // Custom Vector<> json type converter
}
};
Parallel.ForEach(files, file =>
{
var bp = new Blueprint(file);
var obj = new
{
bp.FileName,
bp.Header,
BlockData = new
{
bp.BlockData?.Entities,
bp.BlockData?.LockCodes,
bp.BlockData?.SignalSources,
bp.BlockData?.SignalReceivers,
bp.BlockData?.Circuits,
bp.BlockData?.ShortcutNames
}
};
var outputFile = Path.Join(outputFolder, Path.ChangeExtension(Path.GetFileName(file), "json"));
using var fs = new FileStream(outputFile, FileMode.Create);
JsonSerializer.Serialize(fs, obj, options);
});
Dumping scenario configuration to JSON files
var inputFolder = "Foo";
var outputFolder = "Bar";
var files = Directory.EnumerateFiles(inputFolder, "*.ecf");
Parallel.ForEach(files, file =>
{
// Strongly typed per file classes are also available
var ecf = new EcfFile(file);
var objects = ecf.ParseObjects().ToList();
var outputFile = Path.Join(outputFolder, $"{Path.GetFileNameWithoutExtension(ecf.FileName)}.json");
using var fs = new FileStream(outputFile, FileMode.Create);
JsonSerializer.Serialize(fs, objects);
});
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- SharpZipLib (>= 1.4.2)
- Sylvan.Common (>= 0.4.3)
- Sylvan.Data.Csv (>= 1.3.9)
- System.Buffers (>= 4.5.1)
- YamlDotNet (>= 8.1.0)
-
.NETStandard 2.1
- SharpZipLib (>= 1.4.2)
- Sylvan.Common (>= 0.4.3)
- Sylvan.Data.Csv (>= 1.3.9)
- System.Buffers (>= 4.5.1)
- YamlDotNet (>= 8.1.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.