Files
back_cantanBuilding/Assets/Scripts/MMT/TBBenefitsMM.cs
2026-05-26 16:15:54 +08:00

62 lines
1.7 KiB
C#

using cfg;
using System.Collections.Generic;
public class BenefitsMM
{
public BenefitsMM(Benefits benefits)
{
Id = benefits.Id;
AccountLevel = benefits.AccountLevel;
BenefitsValue = benefits.BenefitsValue;
}
public BenefitsMM(BenefitsMmt benefits)
{
Id = benefits.Id;
AccountLevel = benefits.AccountLevel;
BenefitsValue = benefits.BenefitsValue;
}
/// <summary>
/// id与item表中的类型对应
/// </summary>
public int Id { get; private set; }
public System.Collections.Generic.List<int> AccountLevel { get; private set; }
public System.Collections.Generic.List<float> BenefitsValue { get; private set; }
}
public class TBBenefitsMM
{
private readonly Dictionary<int, BenefitsMM> _dataMap;
private readonly List<BenefitsMM> _dataList;
public TBBenefitsMM(List<Benefits> dataList)
{
_dataMap = new Dictionary<int, BenefitsMM>();
_dataList = new List<BenefitsMM>();
foreach (var benefits in dataList)
{
var v = new BenefitsMM(benefits);
_dataList.Add(v);
_dataMap.Add(v.Id, v);
}
}
public TBBenefitsMM(List<BenefitsMmt> dataList)
{
_dataMap = new Dictionary<int, BenefitsMM>();
_dataList = new List<BenefitsMM>();
foreach (var benefits in dataList)
{
var v = new BenefitsMM(benefits);
_dataList.Add(v);
_dataMap.Add(v.Id, v);
}
}
public Dictionary<int, BenefitsMM> DataMap => _dataMap;
public List<BenefitsMM> DataList => _dataList;
public BenefitsMM GetOrDefault(int key) => _dataMap.TryGetValue(key, out var v) ? v : null;
}