Open
Description
in DwarfAbbreviation.cs line 87;
`public bool TryFindByCode(ulong code, out DwarfAbbreviationItem item)
{
item = null;
if (code == 0)
{
return `false;
}
code--;
if (_mapItems.Count > 0)
{
return _mapItems.TryGetValue(code, out item);
}
if (code < int.MaxValue && (int)code < _items.Count)
{
item = _items[(int) code];
return true;
}
item = null;
return false;
}`
I found sometimes it failed at return _mapItems.TryGetValue(code, out item);
Then I fixed below; I do not konw if you have the same problem;
`public` bool TryFindByCode(ulong code, out DwarfAbbreviationItem item)
{
item = null;
if (code == 0)
{
return false;
}
//no need to minus 1
//code--;
if (_mapItems.Count > 0)
{
return _mapItems.TryGetValue(code, out item);
}
//if _mapItems is empty, try _items;
if (code < int.MaxValue && (int)code <= _items.Count)
{
item = _items[(int) code - 1];
return true;
}
item = null;
return false;
}