using System.Collections.Generic; using Gameplay.Common; using NLDPB; /// /// 军团数据 /// public partial class LegionManager { /// /// 军团广场军团数据 /// private List _legions = new List(); /// /// 自己的军团 /// private Legion _myLegion; /// /// 通过服务器下发数据生成完整军团对象 /// /// /// public Legion ParseLegion(MSG_LegionData legionData) { return _ParseLegionData(legionData); } /// /// 通过服务器下发 /// /// /// public Legion ParseLegion(Lg_Clt_LegionBase legionData) { return _ParseLegionData(legionData); } /// /// 转译Client军团对象为向服务器发送的对象 /// /// /// private MSG_LegionData _TranslateLegion(Legion legion) { MSG_LegionData legionData = new MSG_LegionData(); legionData.Id = legion.ID; legionData.IconId = (uint)legion.HeadIndex; legionData.ManifestoId = (uint)legion.ManifestoID; legionData.Level = (uint)legion.Level; legionData.Name = legion.Name; legionData.MemberCount = (uint)legion.MemberCount; legionData.ExamineType = (uint)legion.ExamineType; legionData.MinActorLevel = (uint)legion.MinActorLevel; foreach (var tagIdx in legion.TagIdxList) { legionData.TagIds.Add((uint)tagIdx); } return legionData; } private void _ParseLegionInfoDetail() { } } /// /// 军团类 /// public class Legion { public uint ID; //军团ID public uint PresidentID; //团长ID public string Name; //军团名 public int HeadIndex; //头像索引 public int Level; //军团等级 public List TagIdxList; //标签索引列表 public int ManifestoID; //宣言索引 public int MinActorLevel; //招募最小等级限制 public int MemberCount; //成员数量 public List ApplyMembers; //申请成员列表 public LegionExamineStatus ExamineType; //审批类型 public Legion(MSG_LegionData legionData) { if (legionData == null) { return; } ID = legionData.Id; Level = (int)legionData.Level; HeadIndex = (int)legionData.IconId; var tagIds = legionData.TagIds; var applyMembers = legionData.ApplyMembers; MemberCount = (int)legionData.MemberCount; ManifestoID = (int)legionData.ManifestoId; ExamineType = (LegionExamineStatus)legionData.ExamineType; MinActorLevel = (int)legionData.MinActorLevel; TagIdxList = new(); ApplyMembers = new(); foreach (var id in tagIds) { TagIdxList.Add((int)id); } foreach (var memID in applyMembers) { ApplyMembers.Add(memID); } } public Legion(Lg_Clt_LegionBase legionBaseData) { if (legionBaseData == null) { return; } ID = legionBaseData.Id; Level = (int)legionBaseData.Level; HeadIndex = (int)legionBaseData.IconId; var tagIds = legionBaseData.TagIds; //MemberCount = (int)legionData.MemberCount; ManifestoID = (int)legionBaseData.ManifestoId; ExamineType = (LegionExamineStatus)legionBaseData.ExamineType; MinActorLevel = (int)legionBaseData.MinActorLevel; TagIdxList = new(); ApplyMembers = new(); foreach (var id in tagIds) { TagIdxList.Add((int)id); } } public Legion() { ID = 0; //默认为0,创建时通知服务器需要传0 MinActorLevel = GLConfig.Inst.data.LegionJoinLevelLimit; } } /// /// 军团成员数据 /// public class ActorLegionData { }