Forgor curiosity name

This commit is contained in:
Noah Pilarski 2022-09-01 07:18:53 -04:00
parent 6849848045
commit a772443c81

View File

@ -2,6 +2,7 @@ using NewHorizons.External.Configs;
using NewHorizons.External.Modules; using NewHorizons.External.Modules;
using NewHorizons.Handlers; using NewHorizons.Handlers;
using NewHorizons.Utility; using NewHorizons.Utility;
using OWML.Utils;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Xml.Linq; using System.Xml.Linq;
@ -13,14 +14,12 @@ namespace NewHorizons.Builder.ShipLog
{ {
private static Dictionary<CuriosityName, Color> _curiosityColors; private static Dictionary<CuriosityName, Color> _curiosityColors;
private static Dictionary<CuriosityName, Color> _curiosityHighlightColors; private static Dictionary<CuriosityName, Color> _curiosityHighlightColors;
private static Dictionary<string, CuriosityName> _rawNameToCuriosityName;
private static Dictionary<string, string> _entryIdToRawName; private static Dictionary<string, string> _entryIdToRawName;
public static void Init() public static void Init()
{ {
_curiosityColors = new Dictionary<CuriosityName, Color>(); _curiosityColors = new Dictionary<CuriosityName, Color>();
_curiosityHighlightColors = new Dictionary<CuriosityName, Color>(); _curiosityHighlightColors = new Dictionary<CuriosityName, Color>();
_rawNameToCuriosityName = new Dictionary<string, CuriosityName>();
_entryIdToRawName = new Dictionary<string, string>(); _entryIdToRawName = new Dictionary<string, string>();
} }
@ -28,10 +27,9 @@ namespace NewHorizons.Builder.ShipLog
{ {
foreach (ShipLogModule.CuriosityColorInfo newColor in newColors) foreach (ShipLogModule.CuriosityColorInfo newColor in newColors)
{ {
if (_rawNameToCuriosityName.ContainsKey(newColor.id) == false) if (!EnumUtils.IsDefined<CuriosityName>(newColor.id))
{ {
CuriosityName newName = (CuriosityName)8 + _rawNameToCuriosityName.Count; CuriosityName newName = EnumUtilities.Create<CuriosityName>(newColor.id);
_rawNameToCuriosityName.Add(newColor.id, newName);
_curiosityColors.Add(newName, newColor.color.ToColor()); _curiosityColors.Add(newName, newColor.color.ToColor());
_curiosityHighlightColors.Add(newName, newColor.highlightColor.ToColor()); _curiosityHighlightColors.Add(newName, newColor.highlightColor.ToColor());
} }
@ -192,9 +190,9 @@ namespace NewHorizons.Builder.ShipLog
if (_entryIdToRawName.ContainsKey(entry._id)) if (_entryIdToRawName.ContainsKey(entry._id))
{ {
var raw = _entryIdToRawName[entry._id]; var raw = _entryIdToRawName[entry._id];
if (_rawNameToCuriosityName.ContainsKey(raw)) if (EnumUtils.IsDefined<CuriosityName>(raw))
{ {
entry._curiosity = _rawNameToCuriosityName[raw]; entry._curiosity = EnumUtils.Parse<CuriosityName>(raw);
} }
else else
{ {