158 lines
5.8 KiB
C#
158 lines
5.8 KiB
C#
using System.Collections.Generic;
|
|
using System.Collections.ObjectModel;
|
|
|
|
namespace BriarQueen.Data.Identifiers
|
|
{
|
|
public enum ItemKey
|
|
{
|
|
None = 0,
|
|
RustedKnife = 1,
|
|
SharpenedKnife = 2,
|
|
EmeraldAmulet = 3,
|
|
DustyMirror = 4,
|
|
SmallRag = 5,
|
|
GreenCandle = 6,
|
|
IndigoCandle = 7,
|
|
DirtyMagnifyingGlass = 8,
|
|
PumphouseKey = 9,
|
|
RedCandle = 10,
|
|
OrangeCandle = 11,
|
|
YellowCandle = 12,
|
|
BlueCandle = 13,
|
|
VioletCandle = 14,
|
|
Pliers = 15,
|
|
Emerald = 16,
|
|
Sapphire = 17,
|
|
Ruby = 18,
|
|
RubyRing = 19,
|
|
SilverCoin = 20,
|
|
GoldCoin = 21,
|
|
GrindstoneAxlePin = 22,
|
|
Diamond = 23,
|
|
DiamondTiara = 24,
|
|
DustySapphire = 25,
|
|
}
|
|
|
|
public enum EnvironmentKey
|
|
{
|
|
None = 0,
|
|
ChainLock = 1,
|
|
FountainVines = 2,
|
|
GrindingStone = 3,
|
|
WorkshopWindow = 4,
|
|
WorkshopDamagedBook = 5,
|
|
WorkshopBookSlot = 6,
|
|
WorkshopDiary = 7,
|
|
PumphouseWaterValve = 8,
|
|
WorkshopFadedPhoto = 9,
|
|
WorkshopDownstairsLight = 10,
|
|
WorkshopBrokenLantern = 11,
|
|
WorkshopWriting = 12,
|
|
StreetVines = 13,
|
|
}
|
|
|
|
public enum PuzzleSlotKey
|
|
{
|
|
None = 0,
|
|
WorkshopCandleSlot = 1,
|
|
WorkshopPuzzleBoxSlot = 2,
|
|
FountainGemSlot = 3,
|
|
|
|
}
|
|
|
|
public static class ItemIDs
|
|
{
|
|
public static readonly IReadOnlyDictionary<PuzzleSlotKey, string> PuzzleSlots =
|
|
new ReadOnlyDictionary<PuzzleSlotKey, string>(
|
|
new Dictionary<PuzzleSlotKey, string>
|
|
{
|
|
{ PuzzleSlotKey.WorkshopCandleSlot, "PUZ_WorkshopCandleSlot" },
|
|
{ PuzzleSlotKey.WorkshopPuzzleBoxSlot, "PUZ_WorkshopPuzzleBoxSlot" }
|
|
});
|
|
|
|
public static readonly IReadOnlyDictionary<EnvironmentKey, string> Environment =
|
|
new ReadOnlyDictionary<EnvironmentKey, string>(
|
|
new Dictionary<EnvironmentKey, string>
|
|
{
|
|
{ EnvironmentKey.ChainLock, "ENV_ChainLock" },
|
|
{ EnvironmentKey.FountainVines, "ENV_FountainVines" },
|
|
{ EnvironmentKey.GrindingStone, "ENV_GrindingStone" },
|
|
{ EnvironmentKey.WorkshopWindow, "ENV_WorkshopWindow" },
|
|
{ EnvironmentKey.WorkshopDamagedBook, "ENV_WorkshopDamagedBook" },
|
|
{ EnvironmentKey.WorkshopBookSlot, "ENV_WorkshopBookSlot" },
|
|
{ EnvironmentKey.WorkshopDiary, "ENV_WorkshopDiary" },
|
|
{ EnvironmentKey.PumphouseWaterValve, "ENV_PumphouseWaterValve" },
|
|
{ EnvironmentKey.WorkshopFadedPhoto, "ENV_WorkshopFadedPhoto" },
|
|
{ EnvironmentKey.WorkshopDownstairsLight, "ENV_WorkshopDownstairsLight" },
|
|
{ EnvironmentKey.WorkshopBrokenLantern, "ENV_WorkshopBrokenLantern" },
|
|
{ EnvironmentKey.WorkshopWriting, "ENV_WorkshopWriting" },
|
|
{ EnvironmentKey.StreetVines, "ENV_StreetVines" },
|
|
});
|
|
|
|
public static readonly IReadOnlyDictionary<ItemKey, string> Pickups =
|
|
new ReadOnlyDictionary<ItemKey, string>(
|
|
new Dictionary<ItemKey, string>
|
|
{
|
|
{ ItemKey.RustedKnife, "00_RustedKnife" },
|
|
{ ItemKey.SharpenedKnife, "01_SharpenedKnife" },
|
|
{ ItemKey.EmeraldAmulet, "02_EmeraldAmulet" },
|
|
{ ItemKey.DustyMirror, "03_DustyMirror" },
|
|
{ ItemKey.SmallRag, "04_SmallRag" },
|
|
{ ItemKey.GreenCandle, "05_GreenCandle" },
|
|
{ ItemKey.IndigoCandle, "06_IndigoCandle" },
|
|
{ ItemKey.DirtyMagnifyingGlass, "07_DirtyMagnifyingGlass" },
|
|
{ ItemKey.PumphouseKey, "08_PumphouseKey" },
|
|
{ ItemKey.RedCandle, "09_RedCandle" },
|
|
{ ItemKey.OrangeCandle, "10_OrangeCandle" },
|
|
{ ItemKey.YellowCandle, "11_YellowCandle" },
|
|
{ ItemKey.BlueCandle, "12_BlueCandle" },
|
|
{ ItemKey.VioletCandle, "13_VioletCandle" },
|
|
{ ItemKey.Pliers, "14_Pliers" },
|
|
{ ItemKey.Emerald, "15_Emerald" },
|
|
{ ItemKey.Sapphire, "16_Sapphire" },
|
|
{ ItemKey.Ruby, "17_Ruby" },
|
|
{ ItemKey.RubyRing, "18_RubyRing" },
|
|
{ ItemKey.SilverCoin, "19_SilverCoin" },
|
|
{ ItemKey.GoldCoin, "20_GoldCoin" },
|
|
{ ItemKey.GrindstoneAxlePin, "21_GrindstoneAxlePin" },
|
|
{ ItemKey.Diamond, "22_Diamond" },
|
|
{ ItemKey.DiamondTiara, "23_DiamondTiara" },
|
|
{ ItemKey.DustySapphire, "24_DustySapphire" },
|
|
});
|
|
|
|
public static string Get(ItemKey key)
|
|
{
|
|
return Pickups.TryGetValue(key, out var id) ? id : string.Empty;
|
|
}
|
|
|
|
public static string Get(EnvironmentKey key)
|
|
{
|
|
return Environment.TryGetValue(key, out var id) ? id : string.Empty;
|
|
}
|
|
|
|
public static string Get(PuzzleSlotKey key)
|
|
{
|
|
return PuzzleSlots.TryGetValue(key, out var id) ? id : string.Empty;
|
|
}
|
|
|
|
public static bool TryGet(ItemKey key, out string id)
|
|
{
|
|
return Pickups.TryGetValue(key, out id);
|
|
}
|
|
|
|
public static bool TryGet(EnvironmentKey key, out string id)
|
|
{
|
|
return Environment.TryGetValue(key, out id);
|
|
}
|
|
|
|
public static bool TryGet(PuzzleSlotKey key, out string id)
|
|
{
|
|
return PuzzleSlots.TryGetValue(key, out id);
|
|
}
|
|
|
|
public static IEnumerable<string> GetAllItemIDs()
|
|
{
|
|
return Pickups.Values;
|
|
}
|
|
}
|
|
} |