NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/Gameplay/Legion/LegionManager.Mercenary.cs

149 lines
3.2 KiB
C#

using Gameplay.Net;
using System.Collections.Generic;
using Gameplay.Net;
using NLDPB;
public partial class LegionManager
{
#region Data
/// <summary>
/// 雇佣兵列表
/// </summary>
private List<MercenaryData> _mercenarySignUpList = new();
public List<MercenaryData> MercenarySignUpList
{
get
{
return _mercenarySignUpList;
}
set
{
_mercenarySignUpList = value;
}
}
private List<LegionMercenaryHireData> _legionMercenaryHireDatas = new();
public List<LegionMercenaryHireData> LegionMercenaryHireDatas
{
get
{
return _legionMercenaryHireDatas;
}
set
{
_legionMercenaryHireDatas = value;
}
}
#endregion
#region 通信
/// <summary>
/// 申请雇佣兵列表
/// </summary>
public void ReqGetMercenaryList(int page, MercenaryDataSortType sortType)
{
NetHelper.ReqMercenarySignUpData((uint)page, sortType);
}
/// <summary>
/// 申请军团招募列表
/// </summary>
/// <param name="page"></param>
public void ReqGetMercenaryHireData(int page, LegionHireSortType sortType)
{
NetHelper.ReqMercenaryHireData((uint)page, sortType);
}
/// <summary>
/// 注册雇佣兵
/// </summary>
/// <param name="cost"></param>
public void ReqMercenarySignUp(int cost)
{
NetHelper.ReqMercenarySignUp((uint)cost);
}
public void ReqLegionPostHiring(MercenaryHire hire)
{
NetHelper.ReqLegionPostHiring(hire);
}
#endregion
#region API
public void CheckIsInLegion(uint actorID)
{
}
// public List<uint> GetMyBattleTeam()
// {
//
// }
#endregion
}
/// <summary>
/// 客户端发起招募结构
/// </summary>
public class MercenaryHire
{
public int Count;
public int LimitLevel;
public int Cost;
public bool AutoApprove;
public MercenaryHire(int count, int limitLevel, int cost, bool autoApprove)
{
Count = count;
LimitLevel = limitLevel;
Cost = cost;
AutoApprove = autoApprove;
}
}
public class LegionMercenaryHireData
{
public uint ID;
public string Name;
public int Level;
public int MinLevel;
public int Total;
public int Current;
public int HireCost;
public LegionMercenaryHireData(MSG_LegionMercenaryHireData data)
{
ID = data.Id;
Name = data.Name;
Level = (int)data.Level;
MinLevel = (int)data.MinLevel;
Total = (int)data.Total;
Current = (int)data.Current;
HireCost = (int)data.HireCost;
}
}
public class MercenaryData
{
public uint ActorID;
public string Name;
public int KillNum;
public int Level;
public int Cost;
public MercenarySignUpStatus Status;
public MercenaryData(MSG_MercenarySignUpData mercenarySignUpData)
{
ActorID = mercenarySignUpData.ActorId;
Name = mercenarySignUpData.Name;
KillNum = (int)mercenarySignUpData.KillNum;
Level = (int)mercenarySignUpData.Level;
Cost = (int)mercenarySignUpData.Cost;
Status = (MercenarySignUpStatus)mercenarySignUpData.Status;
}
}