server-master/srcs/WingsAPI.Game/Core/ItemHandling/Configuration/ISpPartnerConfiguration.cs
2026-02-10 18:21:30 +01:00

28 lines
No EOL
755 B
C#

using System.Collections.Generic;
using System.Collections.Immutable;
namespace WingsEmu.Game._ItemUsage.Configuration;
public interface ISpPartnerConfiguration
{
SpPartnerInfo GetByMorph(short morphId);
}
public class SpPartnerConfiguration : ISpPartnerConfiguration
{
private readonly ImmutableDictionary<int, SpPartnerInfo> _partnerInfo;
public SpPartnerConfiguration(IEnumerable<SpPartnerInfo> partnerInfo)
{
_partnerInfo = partnerInfo.ToImmutableDictionary(s => s.MorphId);
}
public SpPartnerInfo GetByMorph(short morphId) => _partnerInfo.GetValueOrDefault(morphId);
}
public class SpPartnerInfo
{
public int MorphId { get; set; }
public string Name { get; set; }
public int BuffId { get; set; }
}