mirror of
https://github.com/MaSzyna-EU07/StarterNG.git
synced 2026-10-16 23:49:19 +02:00
Ports in Application/Abstractions, adapters in Infrastructure, hand-wired AppServices (no reflection, as PublishAot requires). Adds a test project.
35 lines
1.2 KiB
C#
35 lines
1.2 KiB
C#
namespace StarterNG.Application.Abstractions;
|
|
|
|
/// <summary>
|
|
/// The layout of a MaSzyna installation. Replaces the
|
|
/// <c>Directory.GetCurrentDirectory()</c> calls and hard-coded "scenery/",
|
|
/// "dynamic", "textures/mini/" literals that were previously spread across
|
|
/// parsers, views and the loader.
|
|
/// </summary>
|
|
public interface IGamePaths
|
|
{
|
|
/// <summary>Installation root: the folder holding eu07.exe.</summary>
|
|
string Root { get; }
|
|
|
|
/// <summary>Scenery definitions (*.scn).</summary>
|
|
string Scenery { get; }
|
|
|
|
/// <summary>Rolling stock: dynamic/<maker>/<vehicle>/textures.txt.</summary>
|
|
string Dynamic { get; }
|
|
|
|
/// <summary>Vehicle thumbnails used by the depot and the consist strip.</summary>
|
|
string MiniTextures { get; }
|
|
|
|
/// <summary>Simulator data files (load_weights.txt and friends).</summary>
|
|
string Data { get; }
|
|
|
|
/// <summary>Starter-owned configuration: presets, profiles, key bindings.</summary>
|
|
string StarterConfig { get; }
|
|
|
|
/// <summary>The starter's own error log (starter/bledy.txt).</summary>
|
|
string DiagnosticsLog { get; }
|
|
|
|
/// <summary>Resolves a path relative to <see cref="Root"/>.</summary>
|
|
string FromRoot(params string[] segments);
|
|
}
|