Files

136 lines
5.8 KiB
C#

using System.Collections.Generic;
using System.Collections.ObjectModel;
namespace BriarQueen.Data.Identifiers
{
public enum ItemInteractKey
{
None = 0,
EmptyHands = 1,
CantUseItem = 2,
RustyKnife = 3,
SomethingMissing = 4,
PliersSnapped = 5,
CarefulInteract = 6,
RagFallsApart = 7,
LooksImportant = 8,
WrongTool = 9,
}
public enum LevelInteractKey
{
None = 0,
WaterValve = 1,
ClearVinesOutside = 2,
PumphouseChain = 3,
CutVines = 4,
WorkshopLockedSafe = 5,
UnlockedPumphouse = 6,
}
public enum EnvironmentInteractKey
{
None = 0,
BrokenLantern = 1,
WorkshopWriting = 2,
UseGrindstone = 3,
WorkshopBookDisintegrating = 4,
UsingKnife = 5,
AlreadySharpened = 6,
Locked = 7,
CantGoThere = 8,
DirtyWindow = 9,
WorkshopBagNoItems = 10,
FindCandle = 11,
DoesntBelong = 12,
SharpGlass = 13,
FreshAndCoolWater = 14,
WorkshopBooks = 15,
PumpTurnOn = 16,
}
public enum UIInteractKey
{
None = 0,
EmptySlot = 1,
}
public static class InteractEventIDs
{
public static readonly IReadOnlyDictionary<ItemInteractKey, string> ItemInteractions =
new ReadOnlyDictionary<ItemInteractKey, string>(
new Dictionary<ItemInteractKey, string>
{
{ ItemInteractKey.EmptyHands, "I need to put my tools away." },
{ ItemInteractKey.CantUseItem, "That won't work here." },
{ ItemInteractKey.RustyKnife, "It's too blunt to be useful." },
{ ItemInteractKey.SomethingMissing, "Something's missing." },
{ ItemInteractKey.PliersSnapped, "The pliers snapped. They're no use now." },
{ ItemInteractKey.CarefulInteract, "I need to be careful with this." },
{ ItemInteractKey.RagFallsApart, "The rag fell apart." },
{ ItemInteractKey.LooksImportant, "That looks important." },
{ ItemInteractKey.WrongTool, "I need the proper tool for this."}
});
public static readonly IReadOnlyDictionary<LevelInteractKey, string> LevelInteractions =
new ReadOnlyDictionary<LevelInteractKey, string>(
new Dictionary<LevelInteractKey, string>
{
{ LevelInteractKey.WaterValve, "I've already turned the water on." },
{ LevelInteractKey.ClearVinesOutside, "I need to clear the vines outside first." },
{ LevelInteractKey.PumphouseChain, "There must be a key around here somewhere." },
{ LevelInteractKey.CutVines, "I need something to cut through these." },
{ LevelInteractKey.WorkshopLockedSafe, "It's locked tight." },
{ LevelInteractKey.UnlockedPumphouse, "You used the Pumphouse Key."},
});
public static readonly IReadOnlyDictionary<EnvironmentInteractKey, string> EnvironmentInteractions =
new ReadOnlyDictionary<EnvironmentInteractKey, string>(
new Dictionary<EnvironmentInteractKey, string>
{
{ EnvironmentInteractKey.BrokenLantern, "It's too broken to use." },
{ EnvironmentInteractKey.WorkshopWriting, "It could be worse... it could be blood." },
{ EnvironmentInteractKey.UseGrindstone, "I could sharpen something on this." },
{ EnvironmentInteractKey.WorkshopBookDisintegrating, "It fell apart in my hands." },
{ EnvironmentInteractKey.UsingKnife, "I should be careful cutting these." },
{ EnvironmentInteractKey.AlreadySharpened, "That should be sharp enough now." },
{ EnvironmentInteractKey.Locked, "It's locked." },
{ EnvironmentInteractKey.CantGoThere, "I can't go that way." },
{ EnvironmentInteractKey.DirtyWindow, "I can't see through all this grime." },
{ EnvironmentInteractKey.WorkshopBagNoItems, "There's nothing left inside." },
{ EnvironmentInteractKey.FindCandle, "I should look for the candle." },
{ EnvironmentInteractKey.DoesntBelong, "That doesn't belong here." },
{ EnvironmentInteractKey.SharpGlass, "Ow... that's sharp." },
{ EnvironmentInteractKey.FreshAndCoolWater, "The water feels cool and refreshing." },
{ EnvironmentInteractKey.WorkshopBooks, "The books are ancient and crumbling." },
{ EnvironmentInteractKey.PumpTurnOn, "The water pumps splutter into life."}
});
public static readonly IReadOnlyDictionary<UIInteractKey, string> UIInteractions =
new ReadOnlyDictionary<UIInteractKey, string>(
new Dictionary<UIInteractKey, string>
{
{ UIInteractKey.EmptySlot, "Empty slot." },
});
public static string Get(ItemInteractKey key)
{
return ItemInteractions.TryGetValue(key, out var value) ? value : string.Empty;
}
public static string Get(LevelInteractKey key)
{
return LevelInteractions.TryGetValue(key, out var value) ? value : string.Empty;
}
public static string Get(EnvironmentInteractKey key)
{
return EnvironmentInteractions.TryGetValue(key, out var value) ? value : string.Empty;
}
public static string Get(UIInteractKey key)
{
return UIInteractions.TryGetValue(key, out var value) ? value : string.Empty;
}
}
}