using System.Collections.Generic; using NLDPB; namespace Gameplay.LegionBattle { public partial class LegionBattleManager { #region 军团战外部 public List BattleMemberInfos = new (); public BattlefieldActorCamp MyCamp; public int MapID; #endregion } public class BattleMemberInfo { public uint ActorID; public int Hp; public int Attack; public int Def; public float MoveTime; public int Level; public BattlefieldActorCamp Camp; public string Name; public bool IsMercenary; public BattleMemberInfo(MSG_LB_Member lbMemberInfo, bool isMercenary = false) { ActorID = lbMemberInfo.ActorId; Hp = (int)lbMemberInfo.HpMax; Attack = (int)lbMemberInfo.Attack; Def = (int)lbMemberInfo.Defence; MoveTime = lbMemberInfo.MoveTime; Name = lbMemberInfo.Name; Level = (int)lbMemberInfo.Level; IsMercenary = isMercenary; } } public class BattleMemberGroup { public int ActorID; public int HeadIconIndex; public string Name; public int Level; public List Teams = new(); public bool IsMercenary; public BattleMemberGroup(MSG_LB_Member lbMember, bool isMercenary = false) { ActorID = (int)lbMember.ActorId; HeadIconIndex = (int)lbMember.HeadIcon; Name = lbMember.Name; Level = (int)lbMember.Level; IsMercenary = isMercenary; foreach (var team in lbMember.Teams) { Teams.Add(new BattleTeam(team)); } } } public class BattleTeam { public int CommanderID; public List UnitIDs = new(); public BattleTeam(MSG_LB_Team lbTeam) { CommanderID = (int)lbTeam.Commander; foreach (var unit in lbTeam.Units) { UnitIDs.Add((int)unit); } } } }