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