using NLDPB;
using System.Collections.Generic;
namespace Gameplay.LegionBattle
{
///
/// 军团数据
///
public sealed class LegionData
{
///
/// 军团id
///
public int ID { get; private set; }
///
/// 军团名
///
public string Name { get; private set; }
///
/// 军团图标索引
///
public int IconIndex { get; private set; }
///
/// 军团战分数
///
public int Score { get; private set; }
///
/// 阵营
///
public BattlefieldActorCamp Camp { get; private set; }
///
/// 成员数据
///
public Dictionary DicMember { get; private set; }
public LegionData(BattlefieldActorCamp camp)
{
Camp = camp;
DicMember = new();
}
///
/// 初始化数据
///
///
public void InitData(MSG_LB_Legion data)
{
ID = (int)data.Id;
Name = data.Name;
IconIndex = (int)data.Id;
for (int i = 0; i < data.Members.Count; ++i)
{
if (!DicMember.TryGetValue(data.Members[i].ActorId, out LegionActorData memberData))
{
memberData = new LegionActorData(Camp);
DicMember[data.Members[i].ActorId] = memberData;
}
memberData.InitData(data.Members[i], false);
}
for (int i = 0; i < data.Mercenary.Count; ++i)
{
if (!DicMember.TryGetValue(data.Mercenary[i].ActorId, out LegionActorData memberData))
{
memberData = new LegionActorData(Camp);
DicMember[data.Mercenary[i].ActorId] = memberData;
}
memberData.InitData(data.Mercenary[i], true);
}
}
///
/// 设置军团战分数
///
///
///
public void SetScore(int score)
{
Score = score;
}
}
}