NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/Gameplay/Net/Client/NetHelper.cs

932 lines
37 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

//////////////////////////////////////////////////////////////////////////
//
// 文件Assets/Code/Scripts/Gameplay/Net/Client/NetHelper.cs
// 作者Xoen Xie
// 时间2023/07/19
// 描述:网络相关接口
// 说明:
//
//////////////////////////////////////////////////////////////////////////
using Framework;
using Gameplay.FirstTimeFlow;
using Gameplay.LegionBattle;
using Google.Protobuf;
using NLDMID;
using NLDPB;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using UnityEngine;
//using static CriWare.CriAtomExBeatSync;
namespace Gameplay.Net
{
public static class NetHelper
{
// 发送服务器消息,请求角色养成
public static void CharacterUpgrade(uint nCharacterID, UpgradeType type, uint nTargetLevel, bool addAllExp = false)
{
MSG_Clt_G_CharacterUpgrade msg =
NetManager.Instance.GetMessage(NLDMID.MSGID.CltGCharacterUpgrade) as MSG_Clt_G_CharacterUpgrade;
msg.mPB.CharacterId = nCharacterID;
msg.mPB.UpgradeType = (uint)type;
msg.mPB.TargetLevel = nTargetLevel;
msg.mPB.AddAllExp = addAllExp;
NetManager.Instance.mClient.SendMessage(msg);
}
// 进入关卡
public static void EnterLevel(uint nLevelID, uint nTeamIndex)
{
MSG_Clt_G_EnterLevel msg =
NetManager.Instance.GetMessage(NLDMID.MSGID.CltGEnterLevel) as MSG_Clt_G_EnterLevel;
msg.mPB.LevelId = nLevelID;
msg.mPB.TeamIndex = nTeamIndex;
NetManager.Instance.mClient.SendMessage(msg);
DebugUtil.Log($"C->S send message EnterLevel,levelID:{nLevelID} nTeamIndex:{nTeamIndex}");
}
// 退出关卡,关卡结算
public static void ExitLevel(bool isSuccess, List<uint> nStar)
{
MSG_Clt_G_ExitLevel msg = NetManager.Instance.GetMessage(NLDMID.MSGID.CltGExitLevel) as MSG_Clt_G_ExitLevel;
msg.mPB.IsSuccess = isSuccess;
msg.mPB.StarIndex.Clear();
msg.mPB.StarIndex.AddRange(nStar);
NetManager.Instance.mClient.SendMessage(msg);
DebugUtil.Log($"ExitLevel PB:{msg.mPB}");
DebugUtil.Log($"C->S TryExitLevel isSuccess:{isSuccess} StarResult:{string.Join(",", nStar)}");
}
/// <summary>
/// 领取章节宝箱
/// </summary>
/// <param name="nGroupID"></param>
/// <param name="nIndex"></param>
public static void LevelGroupReward(uint nGroupID)
{
MSG_Clt_G_GroupReward msg = NetManager.Instance.GetMessage(NLDMID.MSGID.CltGGroupReward) as MSG_Clt_G_GroupReward;
msg.mPB.GroupId = nGroupID;
NetManager.Instance.mClient.SendMessage(msg);
}
// 载具升级
public static void VehicleUpgrade(uint nVehicleID, uint[] upgrade_type, uint[] upgrade_count)
{
MSG_Clt_G_VehicleUpgrade msg =
NetManager.Instance.GetMessage(NLDMID.MSGID.CltGVehicleUpgrade) as MSG_Clt_G_VehicleUpgrade;
msg.mPB.VehicleId = nVehicleID;
msg.mPB.UpgradeType.Clear();
msg.mPB.UpgradeType.AddRange(upgrade_type);
msg.mPB.UpgradeCount.Clear();
msg.mPB.UpgradeCount.AddRange(upgrade_count);
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 新协议 创建队伍
/// </summary>
public static void CreateTeam(uint nIndex, string name, uint nIcon, uint conductor, List<uint> characterIDs, uint[] playerSkillIds, bool isLegionBattle = false)
{
// TODO 更新服务器协议
MSG_Clt_G_CreateTeam msg =
NetManager.Instance.GetMessage(NLDMID.MSGID.CltGCreateTeam) as MSG_Clt_G_CreateTeam;
msg.mPB.Name = name;
msg.mPB.Icon = nIcon;
msg.mPB.Index = nIndex;
msg.mPB.Commander = conductor;
msg.mPB.UnitIds.Clear();
msg.mPB.UnitIds.AddRange(characterIDs);
msg.mPB.PlayerSkills.Clear();
for (int i = 0; i < playerSkillIds.Length; ++i)
msg.mPB.PlayerSkills.Add(playerSkillIds[i]);
msg.mPB.Page = isLegionBattle? (uint)1 : 0;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 抽卡
/// </summary>
/// <param name="id"></param>
/// <param name="raffleType"></param>
/// <param name="isFree"></param>
/// <param name="useTicketCounr"></param>
public static void Raffle(uint id, bool isFree, uint count)
{
MSG_Clt_G_Raffle msg = NetManager.Instance.GetMessage(MSGID.CltGRaffle) as MSG_Clt_G_Raffle;
msg.mPB.Id = id;
msg.mPB.IsFree = isFree;
msg.mPB.Count = count;
NetManager.Instance.mClient.SendMessage(msg);
}
// 机器人初始化
public static void RobotTestInit()
{
MSG_Clt_G_TestInit msg = NetManager.Instance.GetMessage(NLDMID.MSGID.CltGTestInit) as MSG_Clt_G_TestInit;
NetManager.Instance.mClient.SendMessage(msg);
}
public static void GiftCode(string code)
{
MSG_Clt_G_GiftCode msg = NetManager.Instance.GetMessage(NLDMID.MSGID.CltGGiftCode) as MSG_Clt_G_GiftCode;
msg.mPB.Code = code;
NetManager.Instance.mClient.SendMessage(msg);
}
public static void Relogin()
{
MSG_Clt_G_Relogin msg = NetManager.Instance.GetMessage(NLDMID.MSGID.CltGRelogin) as MSG_Clt_G_Relogin;
msg.mPB.ActorId = Actor.Instance.Base.GetProp(ActorProp.ActorId);
msg.mPB.LoginKey = Actor.Instance.Login.LoginKey;
NetManager.Instance.mClient.SendMessage(msg, Actor.Instance.Login.ServerID);
}
// 请求邮件列表
public static void RequestMailList(bool NeedAll)
{
MSG_Clt_Ml_MailRequest msg = NetManager.Instance.GetMessage(MSGID.CltMlMailRequest) as MSG_Clt_Ml_MailRequest;
msg.mPB.NeedAll = NeedAll;
NetManager.Instance.mClient.SendMessage(msg);
}
// 打开一封邮件
public static void OpenMail(ulong id)
{
MSG_Clt_Ml_OpenMail msg = NetManager.Instance.GetMessage(NLDMID.MSGID.CltMlOpenMail) as MSG_Clt_Ml_OpenMail;
msg.mPB.Id = id;
NetManager.Instance.mClient.SendMessage(msg);
}
// 领取邮件附件如果id为0则领取所有
public static void CliamMail(params ulong[] ids)
{
MSG_Clt_Ml_ClaimMailItems msg = NetManager.Instance.GetMessage(MSGID.CltMlClaimMailItems) as MSG_Clt_Ml_ClaimMailItems;
msg.mPB.MailId.Clear();
for (int i = 0; i < ids.Length; i++)
{
msg.mPB.MailId.Add(ids[i]);
}
NetManager.Instance.mClient.SendMessage(msg);
}
public static void DeleteMail(ulong id)
{
MSG_Clt_Ml_DeleteMail msg =
NetManager.Instance.GetMessage(NLDMID.MSGID.CltMlDeleteMail) as MSG_Clt_Ml_DeleteMail;
msg.mPB.MailId = id;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 升级指挥官技能
/// </summary>
/// <param name="nSkillID"></param>
public static void PlayerSkillUpgrade(uint nSkillID, uint toLevel)
{
MSG_Clt_G_PlayerSkillUpgrade msg =
NetManager.Instance.GetMessage(MSGID.CltGPlayerSkillUpgrade) as MSG_Clt_G_PlayerSkillUpgrade;
msg.mPB.SkillId = nSkillID;
msg.mPB.Level = toLevel;
NetManager.Instance.mClient.SendMessage(msg);
}
//领取任务奖励
public static void ClaimTaskReward(uint[] taskIds)
{
MSG_Clt_G_TaskClaim msg = NetManager.Instance.GetMessage(NLDMID.MSGID.CltGTaskClaim) as MSG_Clt_G_TaskClaim;
msg.mPB.TaskId.Clear();
for (int i = 0; i < taskIds.Length; i++)
{
msg.mPB.TaskId.Add(taskIds[i]);
}
NetManager.Instance.mClient.SendMessage(msg);
}
public static void GetShopData(uint nShopId)
{
MSG_Clt_G_GetShopContent msg =
NetManager.Instance.GetMessage(NLDMID.MSGID.CltGGetShopContent) as MSG_Clt_G_GetShopContent;
msg.mPB.ShopId = nShopId;
NetManager.Instance.mClient.SendMessage(msg);
}
public static void GetShopList()
{
MSG_Clt_G_GetShopList msg =
NetManager.Instance.GetMessage(NLDMID.MSGID.CltGGetShopList) as MSG_Clt_G_GetShopList;
NetManager.Instance.mClient.SendMessage(msg);
}
public static void ShopBuySth(uint nShopId, int index, int count)
{
MSG_Clt_G_ShopPurchase msg =
NetManager.Instance.GetMessage(NLDMID.MSGID.CltGShopPurchase) as MSG_Clt_G_ShopPurchase;
msg.mPB.ShopId = nShopId;
msg.mPB.Index = (uint)index;
msg.mPB.Count = (uint)count;
NetManager.Instance.mClient.SendMessage(msg);
}
public static void RefreshShop(int shopID, int cost)
{
MSG_Clt_G_RefreshShop msg = NetManager.Instance.GetMessage(NLDMID.MSGID.CltGRefreshShop) as MSG_Clt_G_RefreshShop;
msg.mPB.ShopId = (uint)shopID;
msg.mPB.Cost = (uint)cost;
NetManager.Instance.mClient.SendMessage(msg);
}
public static void InAppPurchaseTest(uint id)
{
MSG_Clt_G_InAppPurchaseTest msg =
NetManager.Instance.GetMessage(NLDMID.MSGID.CltGInAppPurchaseTest) as MSG_Clt_G_InAppPurchaseTest;
msg.mPB.Id = id;
NetManager.Instance.mClient.SendMessage(msg);
}
public static void SetDefenceTeamForPvp(uint[] characterIDs, uint[] vehicleIDs, uint[] buildingIDs, byte[] teamData)
{
DebugUtil.LogG("SetDefenceTeamForPvp");
MSG_Clt_G_SetDefenceTeamForPvp msg =
NetManager.Instance.GetMessage(NLDMID.MSGID.CltGSetDefenceTeamForPvp) as MSG_Clt_G_SetDefenceTeamForPvp;
msg.mPB.CharacterId.Clear();
foreach (var characterID in characterIDs)
{
msg.mPB.CharacterId.Add(characterID);
}
msg.mPB.VehicleId.Clear();
foreach (var vehicleID in vehicleIDs)
{
msg.mPB.VehicleId.Add(vehicleID);
}
msg.mPB.BuildingId.Clear();
foreach (var bulidingID in buildingIDs)
{
msg.mPB.BuildingId.Add(bulidingID);
}
msg.mPB.TeamData = ByteString.CopyFrom(teamData);
NetManager.Instance.mClient.SendMessage(msg);
}
public static void StartPVPFight(uint actorID)
{
MSG_Clt_G_PvpStart msg = NetManager.Instance.GetMessage(NLDMID.MSGID.CltGPvpStart) as MSG_Clt_G_PvpStart;
msg.mPB.ActorId = actorID;
NetManager.Instance.mClient.SendMessage(msg);
}
public static void GetPVPInformation()
{
MSG_Clt_Mg_PvpInformation msg =
NetManager.Instance.GetMessage(MSGID.CltMgPvpInformation) as MSG_Clt_Mg_PvpInformation;
NetManager.Instance.SendMessage(msg);
}
public static void FinishPVPFight(bool isWin, uint key)
{
MSG_Clt_G_PvpResult msg = NetManager.Instance.GetMessage(NLDMID.MSGID.CltGPvpResult) as MSG_Clt_G_PvpResult;
msg.mPB.IsWin = isWin;
msg.mPB.Key = key;
NetManager.Instance.SendMessage(msg);
}
public static void GetPvpOrderList(uint page)
{
MSG_Clt_Mg_PvpOrderList msg =
NetManager.Instance.GetMessage(MSGID.CltMgPvpOrderList) as MSG_Clt_Mg_PvpOrderList;
msg.mPB.Page = page;
NetManager.Instance.SendMessage(msg);
}
public static void PatioExchange(uint gachaId, uint index)
{
MSG_Clt_G_PatioExchange msg = NetManager.Instance.GetMessage(MSGID.CltGPatioExchange) as MSG_Clt_G_PatioExchange;
msg.mPB.GachaId = gachaId;
msg.mPB.Index = index;
NetManager.Instance.SendMessage(msg);
}
public static void InAppPurchase(string transaction_id, string product_id)
{
MSG_Clt_G_InAppPurchase msg = NetManager.Instance.GetMessage(MSGID.CltGInAppPurchase) as MSG_Clt_G_InAppPurchase;
msg.mPB.Platform = (int)PurchasePlatform.Ios;
msg.mPB.IsSandbox = true;
msg.mPB.TransactionId = transaction_id;
msg.mPB.ProductId = product_id;
NetManager.Instance.SendMessage(msg);
}
/// <summary>
/// 物品转化(如使用物品,打开宝箱等
/// </summary>
/// <param name="consumeID">使用物品id</param>
/// <param name="consumeAmount">使用份数</param>
/// <param name="receivedID">获得物品id</param>
public static void ConvertResources(uint consumeID, uint consumeAmount, uint receivedID)
{
MSG_Clt_G_ExchangeItem msg = NetManager.Instance.GetMessage(MSGID.CltGExchangeItem) as MSG_Clt_G_ExchangeItem;
msg.mPB.Id = consumeID;
msg.mPB.Count = consumeAmount;
msg.mPB.TargetId = receivedID;
NetManager.Instance.mClient.SendMessage(msg);
}
public static void UseItem(uint consumeID, uint consumeAmount, uint receivedID = default)
{
MSG_Clt_G_UseItem msg = NetManager.Instance.GetMessage(MSGID.CltGUseItem) as MSG_Clt_G_UseItem;
msg.mPB.Id = consumeID;
msg.mPB.Count = consumeAmount;
msg.mPB.Param = receivedID;
NetManager.Instance.mClient.SendMessage(msg);
}
public static void UseItems(uint consumeID, uint[] targetIDs, uint[] consumeAmounts)
{
MSG_Clt_G_UseItems msg = NetManager.Instance.GetMessage(MSGID.CltGUseItems) as MSG_Clt_G_UseItems;
msg.mPB.Id = consumeID;
msg.mPB.Ids.Clear();
msg.mPB.Ids.AddRange(targetIDs);
msg.mPB.Counts.Clear();
msg.mPB.Counts.AddRange(consumeAmounts);
NetManager.Instance.mClient.SendMessage(msg);
}
public static void BuyAlbum(uint AlbumItemID)
{
MSG_Clt_G_BuyAlbum msg = NetManager.Instance.GetMessage(MSGID.CltGBuyAlbum) as MSG_Clt_G_BuyAlbum;
msg.mPB.Id = AlbumItemID;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 关卡扫荡
/// </summary>
/// <param name="levelId"></param>
/// <param name="count"></param>
public static void LevelSweep(uint teamIndex, uint levelId, uint count)
{
MSG_Clt_G_LevelSweep msg = NetManager.Instance.GetMessage(MSGID.CltGLevelSweep) as MSG_Clt_G_LevelSweep;
msg.mPB.TeamIndex = teamIndex;
msg.mPB.LevelId = levelId;
msg.mPB.Count = count;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 保存已经完成的引导组id
/// </summary>
/// <param name="guideId"></param>
public static void SaveGuideProgress(LogicID logicID, int value)
{
MSG_Clt_G_NewGuideProgress msg = NetManager.Instance.GetMessage(MSGID.CltGNewGuideProgress) as MSG_Clt_G_NewGuideProgress;
msg.mPB.Id = (uint)logicID;
msg.mPB.Value = (uint)value;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 保存功能锁id
/// </summary>
/// <param name="value"></param>
public static void SaveFunctionLock(int value)
{
MSG_Clt_G_SetLockStatus msg = NetManager.Instance.GetMessage(MSGID.CltGSetLockStatus) as MSG_Clt_G_SetLockStatus;
msg.mPB.Value = (uint)value;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 设置玩家头像
/// </summary>
public static void SetPlayeHead(uint id)
{
MSG_Clt_G_SetHeadicon msg = NetManager.Instance.GetMessage(MSGID.CltGSetHeadicon) as MSG_Clt_G_SetHeadicon;
msg.mPB.Id = id;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 设置玩家形象
/// </summary>
public static void SetPlayeAvatar(int id)
{
MSG_Clt_G_SetAvatar msg = NetManager.Instance.GetMessage(MSGID.CltGSetAvatar) as MSG_Clt_G_SetAvatar;
msg.mPB.Id = (uint)id;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 设置玩家名
/// </summary>
/// <param name="name"></param>
public static void SetPlayerName(string name)
{
MSG_Clt_G_SetNickname msg = NetManager.Instance.GetMessage(MSGID.CltGSetNickname) as MSG_Clt_G_SetNickname;
msg.mPB.Nickname = name;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 设置玩家简介
/// </summary>
/// <param name="text"></param>
public static void SetPlayerIntroduction(string text)
{
MSG_Clt_G_SetActorBase msg = NetManager.Instance.GetMessage(MSGID.CltGSetActorBase) as MSG_Clt_G_SetActorBase;
msg.mPB.Desc = text;
msg.mPB.Birthday = Actor.Instance.Base.GetProp(ActorProp.Birthday);
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 设置玩家生日
/// </summary>
/// <param name="date"></param>
public static void SetPlayerBirthday(DateTime time)
{
MSG_Clt_G_SetActorBase msg = NetManager.Instance.GetMessage(MSGID.CltGSetActorBase) as MSG_Clt_G_SetActorBase;
msg.mPB.Desc = Actor.Instance.Base.Description;
msg.mPB.Birthday = (uint)(CommonUtils.GetTimeStamp(time) / 1000);
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 实名认证信息
/// </summary>
/// <param name="name"></param>
/// <param name="ID"></param>
public static void SendAdultAuth(string name, string ID)
{
MSG_Clt_G_AdultAuth msg = NetManager.Instance.GetMessage(MSGID.CltGAdultAuth) as MSG_Clt_G_AdultAuth;
msg.mPB.Name = name;
msg.mPB.Id = ID;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 验证字符串是否包含屏蔽字库
/// </summary>
public static void CheckString(string text)
{
MSG_Clt_G_StringCheck msg = NetManager.Instance.GetMessage(MSGID.CltGStringCheck) as MSG_Clt_G_StringCheck;
msg.mPB.Content = text;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 载具升级
/// </summary>
/// <param name="vehicleIDs">升级路线上的所有载具</param>
/// <param name="componentIDs">升级路线上的所有部件</param>
/// <param name="type">路线起点类型1-载具,2-部件</param>
public static void VehicleUpgrade(List<long> vehicleIDs, List<long> componentIDs, uint type)
{
MSG_Clt_G_VehicleDevelopment msg = NetManager.Instance.GetMessage(MSGID.CltGVehicleDevelopment) as MSG_Clt_G_VehicleDevelopment;
msg.mPB.VehicleIds.Clear();
msg.mPB.VehicleIds.AddRange(vehicleIDs);
msg.mPB.ComponentIds.Clear();
msg.mPB.ComponentIds.AddRange(componentIDs);
msg.mPB.FirstNodeType = type;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 购买载具涂装
/// </summary>
/// <param name="vehicleID"></param>
/// <param name="paintID"></param>
public static void VehicleBuyPaint(uint vehicleID, uint paintID)
{
MSG_Clt_G_VehicleBuyPaint msg = NetManager.Instance.GetMessage(MSGID.CltGVehicleBuyPaint) as MSG_Clt_G_VehicleBuyPaint;
msg.mPB.VehicleId = vehicleID;
msg.mPB.PaintId = paintID;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 设置载具涂装
/// </summary>
/// <param name="vehicleID"></param>
/// <param name="paintID"></param>
public static void VehicleSetPaint(uint vehicleID, uint paintID)
{
MSG_Clt_G_VehicleSetPaint msg = NetManager.Instance.GetMessage(MSGID.CltGVehicleSetPaint) as MSG_Clt_G_VehicleSetPaint;
msg.mPB.VehicleId = vehicleID;
msg.mPB.PaintId = paintID;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 通过页数获取军团列表数据
/// </summary>
/// <param name="page"></param>
public static void ReqLegionListByPage(uint page)
{
MSG_Clt_Lg_LegionList msg = NetManager.Instance.GetMessage(MSGID.CltLgLegionList) as MSG_Clt_Lg_LegionList;
msg.mPB.SearchKey = "";
msg.mPB.Page = page;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 通过Key搜索军团列表数据
/// </summary>
/// <param name="page"></param>
public static void ReqLegionListByKey(string key)
{
MSG_Clt_Lg_LegionList msg = NetManager.Instance.GetMessage(MSGID.CltLgLegionList) as MSG_Clt_Lg_LegionList;
msg.mPB.SearchKey = key;
msg.mPB.Page = 0;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 创建军团
/// </summary>
/// <param name="legionData"></param>
public static void ReqCreateLegion(MSG_LegionData legionData)
{
MSG_Clt_Lg_CreateLegion msg = NetManager.Instance.GetMessage(MSGID.CltLgCreateLegion) as MSG_Clt_Lg_CreateLegion;
msg.mPB.Info = legionData;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 保存编辑军团信息
/// </summary>
/// <param name="legionData"></param>
public static void ReqSaveEditLegion(MSG_LegionData legionData)
{
MSG_Clt_Lg_UpdateLegion msg = NetManager.Instance.GetMessage(MSGID.CltLgUpdateLegion) as MSG_Clt_Lg_UpdateLegion;
msg.mPB.Info = legionData;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 请求军团详细信息
/// </summary>
/// <param name="legionID"></param>
// public static void ReqLegionInfo(uint legionID)
// {
// MSG_Clt_Lg_LegionInfo msg = NetManager.Instance.GetMessage(MSGID.CltLgLegionInfo) as MSG_Clt_Lg_LegionInfo;
// msg.mPB.LegionId = legionID;
// NetManager.Instance.mClient.SendMessage(msg);
// }
/// <summary>
/// 请求加入军团
/// </summary>
/// <param name="id"></param>
public static void ReqJoinLegion(uint id)
{
MSG_Clt_Lg_JoinLegion msg = NetManager.Instance.GetMessage(MSGID.CltLgJoinLegion) as MSG_Clt_Lg_JoinLegion;
msg.mPB.LegionId = id;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 请求退出军团,团长请求退出时,无成员会解散军团
/// </summary>
public static void ReqLeaveLegion()
{
MSG_Clt_Lg_QuitLegion msg = NetManager.Instance.GetMessage(MSGID.CltLgQuitLegion) as MSG_Clt_Lg_QuitLegion;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 审批加入申请
/// </summary>
/// <param name="uid"></param>
/// <param name="status"></param>
public static void ReqExamineApply(uint uid, uint status)
{
MSG_Clt_Lg_ExamineJoinLegion msg = NetManager.Instance.GetMessage(MSGID.CltLgExamineJoinLegion) as MSG_Clt_Lg_ExamineJoinLegion;
msg.mPB.ActorId = uid;
msg.mPB.Status = status;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 团长请求申请加入列表
/// </summary>
public static void ReqLegionPart(uint partType)
{
//MSG_Clt_Lg_ApplyList msg = NetManager.Instance.GetMessage(MSGID.CltLgApplyList) as MSG_Clt_Lg_ApplyList;
MSG_Clt_Lg_LegionPart msg = NetManager.Instance.GetMessage(MSGID.CltLgLegionPart) as MSG_Clt_Lg_LegionPart;
msg.mPB.PartType = partType;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 请求编辑成员
/// </summary>
public static void ReqEditMember(uint id, uint post)
{
MSG_Clt_Lg_UpdateMember msg = NetManager.Instance.GetMessage(MSGID.CltLgUpdateMember) as MSG_Clt_Lg_UpdateMember;
msg.mPB.ActorId = id;
msg.mPB.Position = post;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 请求踢出成员
/// </summary>
/// <param name="uid"></param>
public static void ReqDismissMember(uint uid)
{
MSG_Clt_Lg_DismissMember msg =
NetManager.Instance.GetMessage(MSGID.CltLgDismissMember) as MSG_Clt_Lg_DismissMember;
msg.mPB.ActorId = uid;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 请求自身Legion数据部件
/// </summary>
/// <param name="part"></param>
public static void ReqMyLegionData(uint part)
{
MSG_Clt_Lg_LegionPart msg = NetManager.Instance.GetMessage(MSGID.CltLgLegionPart) as MSG_Clt_Lg_LegionPart;
msg.mPB.PartType = part;
NetManager.Instance.mClient.SendMessage(msg);
}
public static void CheckCharacter(int characterID)
{
MSG_Clt_G_CheckCharacter msg = NetManager.Instance.GetMessage(MSGID.CltGCheckCharacter) as MSG_Clt_G_CheckCharacter;
msg.mPB.CharacterId = (uint)characterID;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 通行证购买等级
/// </summary>
public static void BattlePassBuyLevel(int level, int cost)
{
MSG_Clt_G_BuyBattlePassLevel msg = NetManager.Instance.GetMessage(MSGID.CltGBuyBattlePassLevel) as MSG_Clt_G_BuyBattlePassLevel;
msg.mPB.BuyLevel = (uint)level;
msg.mPB.BuyCost = (uint)cost;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 领取通行证奖励
/// </summary>
public static void BattlePassGetReward()
{
MSG_Clt_G_BattlePassReward msg = NetManager.Instance.GetMessage(MSGID.CltGBattlePassReward) as MSG_Clt_G_BattlePassReward;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 月卡每日奖励
/// </summary>
public static void MonthlyPassGetReward(uint ID)
{
MSG_Clt_G_ClaimMonthlyPassReward msg = NetManager.Instance.GetMessage(MSGID.CltGClaimMonthlyPassReward) as MSG_Clt_G_ClaimMonthlyPassReward;
msg.mPB.PassId = ID;
NetManager.Instance.mClient.SendMessage(msg);
}
public static void RedeemCodeChange(string code)
{
MSG_Clt_G_PhxhGiftCode msg =
NetManager.Instance.GetMessage(NLDMID.MSGID.CltGPhxhGiftCode) as MSG_Clt_G_PhxhGiftCode;
msg.mPB.Code = code;
NetManager.Instance.mClient.SendMessage(msg);
}
#region 军团战外部
/// <summary>
/// 军团战报名
/// </summary>
public static void LegionBattleSignUp()
{
MSG_Clt_Lg_LegionBattleSignUp msg = NetManager.Instance.GetMessage(MSGID.CltLgLegionBattleSignUp) as MSG_Clt_Lg_LegionBattleSignUp;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 请求军团战编队数据
/// </summary>
public static void ReqLegionBattleMemberInfos()
{
MSG_Clt_B_GetLegionBattleTeams msg = NetManager.Instance.GetMessage(MSGID.CltBGetLegionBattleTeams) as MSG_Clt_B_GetLegionBattleTeams;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 上阵某成员
/// </summary>
public static void ReqLegionSelectLegionBattleTeam(uint actorID, bool isSelect)
{
MSG_Clt_B_SelectLegionBattleTeam msg =
NetManager.Instance.GetMessage(MSGID.CltBSelectLegionBattleTeam) as MSG_Clt_B_SelectLegionBattleTeam;
msg.mPB.ActorId = actorID;
msg.mPB.IsSelect = isSelect;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 请求锁定编队
/// </summary>
public static void ReqLegionBattleTeamLock()
{
MSG_Clt_B_SetLegionBattleTeamLock msg = NetManager.Instance.GetMessage(MSGID.CltBSetLegionBattleTeamLock) as MSG_Clt_B_SetLegionBattleTeamLock;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 请求所有招募信息
/// </summary>
/// <param name="page"></param>
public static void ReqMercenaryHireData(uint page, LegionHireSortType sortType)
{
MSG_Clt_Lg_LegionMercenaryHireDatas msg = NetManager.Instance.GetMessage(MSGID.CltLgLegionMercenaryHireDatas) as MSG_Clt_Lg_LegionMercenaryHireDatas;
msg.mPB.Page = page;
msg.mPB.SortType = (uint)sortType;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 请求注册的雇佣兵数据
/// </summary>
/// <param name="page"></param>
/// <param name="sortType"></param>
public static void ReqMercenarySignUpData(uint page, MercenaryDataSortType sortType)
{
MSG_Clt_Lg_LegionMercenarySignUpDatas msg = NetManager.Instance.GetMessage(MSGID.CltLgLegionMercenarySignUpDatas) as MSG_Clt_Lg_LegionMercenarySignUpDatas;
msg.mPB.Page = page;
msg.mPB.SortType = (uint)sortType;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 注册成为雇佣兵
/// </summary>
public static void ReqMercenarySignUp(uint cost)
{
MSG_Clt_Lg_MercenarySignUp msg = NetManager.Instance.GetMessage(MSGID.CltLgMercenarySignUp) as MSG_Clt_Lg_MercenarySignUp;
msg.mPB.HireCost = cost;
NetManager.Instance.mClient.SendMessage(msg);
}
public static void ReqLegionPostHiring(MercenaryHire hireData)
{
MSG_Clt_Lg_LegionPostHiring msg = NetManager.Instance.GetMessage(MSGID.CltLgLegionPostHiring) as MSG_Clt_Lg_LegionPostHiring;
msg.mPB.Count = (uint)hireData.Count;
msg.mPB.Level = (uint)hireData.LimitLevel;
msg.mPB.Cost = (uint)hireData.Cost;
msg.mPB.AutoApprove = hireData.AutoApprove;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 查找佣兵ID
/// </summary>
/// <param name="mercenaryID"></param>
public static void ReqMercenarySignUpDataSearch(uint mercenaryID)
{
MSG_Clt_Lg_LegionMercenarySearch msg = NetManager.Instance.GetMessage(MSGID.CltLgLegionMercenarySearch) as MSG_Clt_Lg_LegionMercenarySearch;
msg.mPB.ActorId = mercenaryID;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 雇佣兵申请加入军团
/// </summary>
/// <param name="legionID"></param>
public static void ReqMercenaryApplyJoin(uint legionID)
{
MSG_Clt_Lg_LegionMercenaryApply msg = NetManager.Instance.GetMessage(MSGID.CltLgLegionMercenaryApply) as MSG_Clt_Lg_LegionMercenaryApply;
msg.mPB.LegionId = legionID;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 请求招募雇佣兵
/// </summary>
/// <param name="mercenaryID"></param>
public static void ReqLegionMercenaryHire(uint mercenaryID)
{
MSG_Clt_Lg_LegionMercenaryHire msg = NetManager.Instance.GetMessage(MSGID.CltLgLegionMercenaryHire) as MSG_Clt_Lg_LegionMercenaryHire;
msg.mPB.ActorId = mercenaryID;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 军团长批准雇佣兵加入
/// </summary>
/// <param name="mercenaryID"></param>
/// <param name="isPass"></param>
public static void ReqLegionMercenaryApprove(uint mercenaryID, bool isPass)
{
MSG_Clt_Lg_LegionMercenaryApprove msg = NetManager.Instance.GetMessage(MSGID.CltLgLegionMercenaryApprove) as MSG_Clt_Lg_LegionMercenaryApprove;
msg.mPB.ActorId = mercenaryID;
msg.mPB.Accept = isPass;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 查看军团雇佣兵招募情况
/// </summary>
public static void ReqLegionMercenaryData()
{
MSG_Clt_Lg_LegionMercenaryDatas msg = NetManager.Instance.GetMessage(MSGID.CltLgLegionMercenaryDatas) as MSG_Clt_Lg_LegionMercenaryDatas;
NetManager.Instance.mClient.SendMessage(msg);
}
#endregion
#region 军团战战斗消息
/// <summary>
/// 进入军团战
/// </summary>
public static void EnterLegionBattle()
{
LegionBattleManager.Debug("发送进入军团战消息");
MSG_Clt_B_EnterLegionBattlefield msg = NetManager.Instance.GetMessage(MSGID.CltBEnterLegionBattlefield) as MSG_Clt_B_EnterLegionBattlefield;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 进入军团战完成
/// </summary>
public static void EnterLegionBattleOK()
{
LegionBattleManager.Debug("发送进入军团战完成消息");
MSG_Clt_B_EnterLegionBattlefieldOk msg = NetManager.Instance.GetMessage(MSGID.CltBEnterLegionBattlefieldOk) as MSG_Clt_B_EnterLegionBattlefieldOk;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 退出军团战
/// </summary>
public static void ExitLegionBattle()
{
LegionBattleManager.Debug("发送退出军团战消息");
MSG_Clt_B_ExitLegionBattlefield msg = NetManager.Instance.GetMessage(MSGID.CltBExitLegionBattlefield) as MSG_Clt_B_ExitLegionBattlefield;
NetManager.Instance.mClient.SendMessage(msg);
}
/// <summary>
/// 军团战玩家操作指令
/// </summary>
public static void LegionBattleCommand(BattlefieldActorCommand command, uint actorId, Vector2Int pos)
{
if (!LegionBattleManager.Instance.IsSendNet)
{
UITipsManager.ShowTips("操作太频繁了");
return;
}
LegionBattleManager.Debug($"发送军团战操作消息actorId{actorId},类型:{command}");
MSG_Clt_B_LegionBattleCommand msg = NetManager.Instance.GetMessage(MSGID.CltBLegionBattleCommand) as MSG_Clt_B_LegionBattleCommand;
msg.mPB.Command = (uint)command;
msg.mPB.Nx = (uint)pos.y;
msg.mPB.Nz = (uint)pos.x;
msg.mPB.ActorId = actorId;
NetManager.Instance.mClient.SendMessage(msg);
LegionBattleManager.Instance.SetNetCD();
}
/// <summary>
/// 军团长命令
/// </summary>
/// <param name="pos"></param>
/// <param name="type"></param>
public static void LegionBattleCaptainOrder(Vector2Int pos, E_LegionBattleNotice notice)
{
if (!LegionBattleManager.Instance.IsSendNet)
{
UITipsManager.ShowTips("操作太频繁了");
return;
}
LegionBattleManager.Debug($"发送军团战军团长操作消息");
MSG_Clt_B_LegionBattleCaptainOrder msg = NetManager.Instance.GetMessage(MSGID.CltBLegionBattleCaptainOrder) as MSG_Clt_B_LegionBattleCaptainOrder;
msg.mPB.X = (uint)pos.y;
msg.mPB.Z = (uint)pos.x;
msg.mPB.OrderType = (uint)notice;
NetManager.Instance.mClient.SendMessage(msg);
LegionBattleManager.Instance.SetNetCD();
}
#endregion
public static void ReqAccumulateSignUp()
{
MSG_Clt_G_Sign msg = NetManager.Instance.GetMessage(MSGID.CltGSign) as MSG_Clt_G_Sign;
NetManager.Instance.mClient.SendMessage(msg);
}
}
}