PKHeX/PKHeX.Core/Legality/Ribbons/RibbonStrings.cs
Kurt 0b4e6a0733 Refactoring
relocate ribbon checks/class to more focused location
reduce amount of GenNumber checks (use stored Generation value instead)
2017-09-03 19:51:29 -07:00

39 lines
1.4 KiB
C#

using System.Collections.Generic;
namespace PKHeX.Core
{
public static class RibbonStrings
{
private static readonly Dictionary<string, string> RibbonNames = new Dictionary<string, string>();
/// <summary>
/// Resets the Ribbon Dictionary to use the supplied set of Ribbon (Property) Names.
/// </summary>
/// <param name="lines">Array of strings that are tab separated with Property Name, \t, and Display Name.</param>
public static void ResetDictionary(IEnumerable<string> lines)
{
foreach (var line in lines)
{
string[] split = line.Split('\t');
if (split.Length != 2)
continue;
if (RibbonNames.ContainsKey(split[0]))
RibbonNames[split[0]] = split[1];
else
RibbonNames.Add(split[0], split[1]);
}
}
/// <summary>
/// Returns the Ribbon Display Name for the corresponding <see cref="PKM"/> ribbon property name.
/// </summary>
/// <param name="propertyName">Ribbon property name</param>
/// <returns>Ribbon display name</returns>
public static string GetName(string propertyName)
{
if (RibbonNames.TryGetValue(propertyName, out string value))
return value;
return null;
}
}
}