153 lines
6.9 KiB
C#
153 lines
6.9 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,
|
||
CollectEndlessGoblets = 10,
|
||
}
|
||
|
||
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,
|
||
FireHot = 17,
|
||
ExtinguishFire = 18,
|
||
CauldronBoiledAway = 19,
|
||
LaxleyHouseBrokenClock = 20,
|
||
LaxleyGrandfatherClockMissingBothHands = 21,
|
||
LaxleyGrandfatherClockMissingHourHand = 22,
|
||
LaxleyGrandfatherClockMissingMinuteHand = 23,
|
||
}
|
||
|
||
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, "My hands are too full for that." },
|
||
{ ItemInteractKey.CantUseItem, "That won’t work here." },
|
||
{ ItemInteractKey.RustyKnife, "Too dull to be of any use." },
|
||
{ ItemInteractKey.SomethingMissing, "Something isn’t right." },
|
||
{ ItemInteractKey.PliersSnapped, "The pliers snap. That’s the end of them." },
|
||
{ ItemInteractKey.CarefulInteract, "I should take care with this." },
|
||
{ ItemInteractKey.RagFallsApart, "It fell apart in my hands." },
|
||
{ ItemInteractKey.LooksImportant, "This feels important." },
|
||
{ ItemInteractKey.WrongTool, "This isn’t the right tool." },
|
||
{ ItemInteractKey.CollectEndlessGoblets, "Faint symbols coil across the goblet’s surface." },
|
||
|
||
});
|
||
|
||
public static readonly IReadOnlyDictionary<LevelInteractKey, string> LevelInteractions =
|
||
new ReadOnlyDictionary<LevelInteractKey, string>(
|
||
new Dictionary<LevelInteractKey, string>
|
||
{
|
||
{ LevelInteractKey.WaterValve, "The water is already flowing." },
|
||
{ LevelInteractKey.ClearVinesOutside, "The vines still block the way outside." },
|
||
{ LevelInteractKey.PumphouseChain, "It’s locked by something more than rust." },
|
||
{ LevelInteractKey.CutVines, "These won’t give way by hand." },
|
||
{ LevelInteractKey.WorkshopLockedSafe, "Sealed tight." },
|
||
{ LevelInteractKey.UnlockedPumphouse, "The lock gives with a dull click." },
|
||
});
|
||
|
||
public static readonly IReadOnlyDictionary<EnvironmentInteractKey, string> EnvironmentInteractions =
|
||
new ReadOnlyDictionary<EnvironmentInteractKey, string>(
|
||
new Dictionary<EnvironmentInteractKey, string>
|
||
{
|
||
{ EnvironmentInteractKey.BrokenLantern, "Beyond repair." },
|
||
{ EnvironmentInteractKey.WorkshopWriting, "At least it isn’t blood." },
|
||
{ EnvironmentInteractKey.UseGrindstone, "This could still sharpen an edge." },
|
||
{ EnvironmentInteractKey.WorkshopBookDisintegrating, "It crumbles at a touch." },
|
||
{ EnvironmentInteractKey.UsingKnife, "Careful… one slip." },
|
||
{ EnvironmentInteractKey.AlreadySharpened, "That edge will do." },
|
||
{ EnvironmentInteractKey.Locked, "Locked." },
|
||
{ EnvironmentInteractKey.CantGoThere, "No way through." },
|
||
{ EnvironmentInteractKey.DirtyWindow, "Nothing visible through the grime." },
|
||
{ EnvironmentInteractKey.WorkshopBagNoItems, "Picked clean." },
|
||
{ EnvironmentInteractKey.FindCandle, "I need the candle that goes here." },
|
||
{ EnvironmentInteractKey.DoesntBelong, "This feels out of place." },
|
||
{ EnvironmentInteractKey.SharpGlass, "Still sharp enough to bite." },
|
||
{ EnvironmentInteractKey.FreshAndCoolWater, "Cool. Clean. Unexpected." },
|
||
{ EnvironmentInteractKey.WorkshopBooks, "Time hasn’t been kind to these." },
|
||
{ EnvironmentInteractKey.PumpTurnOn, "The pumps shudder back to life." },
|
||
{ EnvironmentInteractKey.FireHot, "Too hot to get close." },
|
||
{ EnvironmentInteractKey.CauldronBoiledAway, "Whatever it held is long gone." },
|
||
{ EnvironmentInteractKey.ExtinguishFire, "The symbols begin to glow as the goblet fills." },
|
||
{ EnvironmentInteractKey.LaxleyHouseBrokenClock, "The clock stopped at three-thirty-three." },
|
||
{ EnvironmentInteractKey.LaxleyGrandfatherClockMissingBothHands, "It's missing both hands. "},
|
||
{ EnvironmentInteractKey.LaxleyGrandfatherClockMissingHourHand, "The hour hand is missing."},
|
||
{ EnvironmentInteractKey.LaxleyGrandfatherClockMissingMinuteHand, "The minute hand is missing."},
|
||
});
|
||
|
||
public static readonly IReadOnlyDictionary<UIInteractKey, string> UIInteractions =
|
||
new ReadOnlyDictionary<UIInteractKey, string>(
|
||
new Dictionary<UIInteractKey, string>
|
||
{
|
||
{ UIInteractKey.EmptySlot, "Empty." },
|
||
});
|
||
|
||
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;
|
||
}
|
||
}
|
||
} |