Files
2026-03-05 11:39:06 +08:00

33 lines
1.1 KiB
C#

#pragma warning disable CS8601 // Possible null reference assignment.
namespace Fantasy;
public partial class EquipValueConfigData
{
private readonly Dictionary<ulong, EquipValueConfig> _equipValueDic = new Dictionary<ulong, EquipValueConfig>();
public override void EndInit()
{
foreach (var equipValueConfig in List)
{
var equipValueKey = GetEquipValueKey(equipValueConfig.ItemConfigId, equipValueConfig.Quality);
_equipValueDic.Add(equipValueKey, equipValueConfig);
}
}
public bool TryGetValue(uint itemConfigId, int quality, out EquipValueConfig value)
{
var equipValueKey = GetEquipValueKey(itemConfigId, quality);
if (!_equipValueDic.TryGetValue(equipValueKey, out value))
{
Log.Error($"itemConfigId: {itemConfigId} and quality: {quality} not found in EquipValueConfig!");
return false;
}
return true;
}
private ulong GetEquipValueKey(uint itemConfigId, int quality)
{
return ((ulong)itemConfigId << 32) | (uint)quality;
}
}