Gondwana Game Engine Development (master) - 2.6.1
Gondwana is a cross-platform 2.5D game and rendering engine written in C#/.NET 8. It provides fine-grained control over rendering, timing, and scene composition, with built-in support for parallax, z-ordering, pixel overhang, collision detection, and particle effects. Gondwana targets desktop and web platforms using SkiaSharp for graphics and pluggable audio backends for desktop and browser targets.
Loading...
Searching...
No Matches
AudioDefinitionSource.cs
1using Newtonsoft.Json;
2
3namespace Gondwana.Audio.GSND;
4
8public sealed class AudioDefinitionSource
9{
10 [JsonConstructor]
11 private AudioDefinitionSource() { }
12
16 [JsonProperty]
17 public AudioDefinitionSourceKind Kind { get; private init; }
18
22 [JsonProperty]
23 public string? GsndFilePath { get; private init; }
24
28 [JsonProperty]
29 public string? AssetsFilePath { get; private init; }
30
34 [JsonProperty]
35 public string? AssetEntryName { get; private init; }
36
42 public static AudioDefinitionSource LooseDefinitionFile(string gsndFilePath)
43 {
44 ArgumentException.ThrowIfNullOrWhiteSpace(gsndFilePath);
45 return new AudioDefinitionSource
46 {
47 Kind = AudioDefinitionSourceKind.LooseDefinitionFile,
48 GsndFilePath = gsndFilePath
49 };
50 }
51
58 public static AudioDefinitionSource PackedDefinitionFile(string assetsFilePath, string assetEntryName)
59 {
60 ArgumentException.ThrowIfNullOrWhiteSpace(assetsFilePath);
61 ArgumentException.ThrowIfNullOrWhiteSpace(assetEntryName);
62 return new AudioDefinitionSource
63 {
64 Kind = AudioDefinitionSourceKind.PackedDefinitionFile,
65 AssetsFilePath = assetsFilePath,
66 AssetEntryName = assetEntryName
67 };
68 }
69
74 public static AudioDefinitionSource Generated() =>
76
81 public static AudioDefinitionSource None() =>
83}
static AudioDefinitionSource PackedDefinitionFile(string assetsFilePath, string assetEntryName)
Creates provenance for a definition stored inside an assets file.
static AudioDefinitionSource Generated()
Creates provenance for a definition generated from runtime state.
static AudioDefinitionSource LooseDefinitionFile(string gsndFilePath)
Creates provenance for a definition stored in a loose file.
string? GsndFilePath
Gets the path to the loose GSND definition file.
static AudioDefinitionSource None()
Creates an empty definition-source descriptor.
string? AssetEntryName
Gets the entry name inside the assets file.
AudioDefinitionSourceKind Kind
Gets the kind.
string? AssetsFilePath
Gets the path to the containing assets file.
AudioDefinitionSourceKind
Identifies the provenance of an audio definition.
@ Generated
The definition was generated from runtime state.