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; } } }