33 lines
1.1 KiB
C#
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;
|
|
}
|
|
} |