using System.Collections.Generic; using System.Collections.ObjectModel; namespace BriarQueen.Data.Identifiers { public enum BookEntryID { None = 0, WorkshopDiary = 1, LaxleyHouseBillOfSale = 2, GranddfatherClockPlaque = 3 } public enum ClueEntryID { None = 0, WorkshopBookshelfClue = 1, WorkshopRainbowClue = 2, PumphouseScratchedTable = 3, StreetGatePlaque = 4, GranddfatherClockPlaqueClue = 5 } public enum PhotoEntryID { None = 0, WorkshopFadedPhoto = 1 } public static class CodexEntryIDs { public static readonly IReadOnlyDictionary Books = new ReadOnlyDictionary( new Dictionary { { BookEntryID.WorkshopDiary, "BOOK_WorkshopDiary" }, { BookEntryID.LaxleyHouseBillOfSale, "BOOK_LaxleyHouseBillOfSale" }, { BookEntryID.GranddfatherClockPlaque, "BOOK_GranddfatherClockPlaque" }, }); public static readonly IReadOnlyDictionary Clues = new ReadOnlyDictionary( new Dictionary { { ClueEntryID.WorkshopBookshelfClue, "CLUE_WorkshopBookshelf" }, { ClueEntryID.WorkshopRainbowClue , "CLUE_WorkshopRainbow" }, { ClueEntryID.PumphouseScratchedTable, "CLUE_PumphouseScratchedTable" }, { ClueEntryID.StreetGatePlaque, "CLUE_StreetGatePlaque" }, { ClueEntryID.GranddfatherClockPlaqueClue, "CLUE_GranddfatherClockPlaque" }, }); public static readonly IReadOnlyDictionary Photos = new ReadOnlyDictionary( new Dictionary { { PhotoEntryID.WorkshopFadedPhoto, "PHOTO_WorkshopFadedPhoto" } }); public static string Get(BookEntryID id) { return Books.TryGetValue(id, out var value) ? value : string.Empty; } public static string Get(ClueEntryID id) { return Clues.TryGetValue(id, out var value) ? value : string.Empty; } public static string Get(PhotoEntryID id) { return Photos.TryGetValue(id, out var value) ? value : string.Empty; } } }