using System.Collections.Generic; using System.Collections.ObjectModel; namespace BriarQueen.Data.Identifiers { public enum BookEntryID { None = 0, WorkshopDiary = 1, LaxleyHouseBillOfSale = 2, } public enum ClueEntryID { None = 0, WorkshopBookshelfClue = 1, WorkshopRainbowClue = 2, PumphouseScratchedTable = 3, StreetGatePlaque = 4 } public enum PhotoEntryID { None = 0, WorkshopFadedPhoto = 1 } public enum LocationEntryID { None = 0, Village = 1, Workshop = 2 } public static class CodexEntryIDs { public static readonly IReadOnlyDictionary Books = new ReadOnlyDictionary( new Dictionary { { BookEntryID.WorkshopDiary, "BOOK_WorkshopDiary" } }); 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" } }); 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; } } }