133 lines
4.3 KiB
C#
133 lines
4.3 KiB
C#
using System.Collections.Generic;
|
|
using System.Collections.ObjectModel;
|
|
|
|
namespace BriarQueen.Data.Identifiers
|
|
{
|
|
public enum MusicKey
|
|
{
|
|
None = 0,
|
|
}
|
|
|
|
public enum SFXKey
|
|
{
|
|
None = 0,
|
|
CarDoorOpening,
|
|
ItemPickup,
|
|
AshwickGateOpening
|
|
}
|
|
|
|
public enum UIFXKey
|
|
{
|
|
None = 0,
|
|
AchievementUnlocked,
|
|
CodexEntryUnlocked
|
|
}
|
|
|
|
public enum AmbienceKey
|
|
{
|
|
None = 0,
|
|
}
|
|
|
|
public enum VoiceKey
|
|
{
|
|
None = 0,
|
|
|
|
EmptyHands,
|
|
CantUseItem,
|
|
SomethingMissing,
|
|
CarefulInteract,
|
|
LooksImportant,
|
|
WrongTool,
|
|
CodexLocked,
|
|
|
|
Locked,
|
|
CantGoThere,
|
|
DoesntBelong,
|
|
FireHot,
|
|
AshwickHallowSign,
|
|
FirstSkeleton,
|
|
ClockTower,
|
|
}
|
|
|
|
public static class AudioNameIdentifiers
|
|
{
|
|
private static readonly IReadOnlyDictionary<MusicKey, string> _music =
|
|
new ReadOnlyDictionary<MusicKey, string>(
|
|
new Dictionary<MusicKey, string>
|
|
{
|
|
// Add when you have music
|
|
// { MusicKey.SomeTrack, "Music:SomeTrack" }
|
|
});
|
|
|
|
private static readonly IReadOnlyDictionary<SFXKey, string> _sfx =
|
|
new ReadOnlyDictionary<SFXKey, string>(
|
|
new Dictionary<SFXKey, string>
|
|
{
|
|
{ SFXKey.CarDoorOpening, "SFX:General:CarDoorOpening" },
|
|
{ SFXKey.ItemPickup, "SFX:General:ItemPickup" },
|
|
{ SFXKey.AshwickGateOpening, "SFX:Level:AshwickOutskirts:GateOpening" },
|
|
});
|
|
|
|
private static readonly IReadOnlyDictionary<UIFXKey, string> _uifx =
|
|
new ReadOnlyDictionary<UIFXKey, string>(
|
|
new Dictionary<UIFXKey, string>
|
|
{
|
|
{ UIFXKey.AchievementUnlocked, "UIFX:General:AchievementUnlocked" },
|
|
{ UIFXKey.CodexEntryUnlocked, "UIFX:General:CodexEntryUnlocked" },
|
|
});
|
|
|
|
private static readonly IReadOnlyDictionary<AmbienceKey, string> _ambience =
|
|
new ReadOnlyDictionary<AmbienceKey, string>(
|
|
new Dictionary<AmbienceKey, string>
|
|
{
|
|
// Add ambience mappings here
|
|
});
|
|
|
|
private static readonly IReadOnlyDictionary<VoiceKey, string> _voice =
|
|
new ReadOnlyDictionary<VoiceKey, string>(
|
|
new Dictionary<VoiceKey, string>
|
|
{
|
|
{ VoiceKey.EmptyHands, "Voice:Item:EmptyHands" },
|
|
{ VoiceKey.CantUseItem, "Voice:Item:CantUseItem" },
|
|
{ VoiceKey.SomethingMissing, "Voice:Item:SomethingMissing" },
|
|
{ VoiceKey.CarefulInteract, "Voice:Item:CarefulInteract" },
|
|
{ VoiceKey.LooksImportant, "Voice:Item:LooksImportant" },
|
|
{ VoiceKey.WrongTool, "Voice:Item:WrongTool" },
|
|
{ VoiceKey.CodexLocked, "Voice:Item:CodexLocked" },
|
|
|
|
{ VoiceKey.Locked, "Voice:Environment:Locked" },
|
|
{ VoiceKey.CantGoThere, "Voice:Environment:CantGoThere" },
|
|
{ VoiceKey.DoesntBelong, "Voice:Environment:DoesntBelong" },
|
|
{ VoiceKey.FireHot, "Voice:Environment:FireHot" },
|
|
{ VoiceKey.AshwickHallowSign, "Voice:Environment:AshwickHallowSign" },
|
|
{ VoiceKey.FirstSkeleton, "Voice:Environment:FirstSkeleton" },
|
|
{ VoiceKey.ClockTower, "Voice:Environment:ClockTower" },
|
|
});
|
|
|
|
public static string Get(MusicKey key)
|
|
{
|
|
return _music.TryGetValue(key, out var value) ? value : string.Empty;
|
|
}
|
|
|
|
public static string Get(SFXKey key)
|
|
{
|
|
return _sfx.TryGetValue(key, out var value) ? value : string.Empty;
|
|
}
|
|
|
|
public static string Get(UIFXKey key)
|
|
{
|
|
return _uifx.TryGetValue(key, out var value) ? value : string.Empty;
|
|
}
|
|
|
|
public static string Get(AmbienceKey key)
|
|
{
|
|
return _ambience.TryGetValue(key, out var value) ? value : string.Empty;
|
|
}
|
|
|
|
public static string Get(VoiceKey key)
|
|
{
|
|
return _voice.TryGetValue(key, out var value) ? value : string.Empty;
|
|
}
|
|
}
|
|
}
|