zxl
/
CTT
forked from Cal/CTT
1
0
Fork 0
CTT/Server/Hotfix/Game/Handler/Team/C2M_InviteTeamHandler.cs

38 lines
1003 B
C#

using System;
namespace ET
{
[ActorMessageHandler]
public class C2M_InviteTeamHandler : AMActorLocationRpcHandler<Unit,C2M_InviteTeam, M2C_InviteTeam>
{
protected override async ETTask Run(Unit unit, C2M_InviteTeam request, M2C_InviteTeam response, Action reply)
{
if (!unit.IsTeamLeader)
{
response.Message = "您不是队长,无权邀请别人";
reply();
return;
}
Unit targetUnit = MapUnitComponent.Instance.Get(request.TargetId);
if (targetUnit == null)
{
response.Message = "玩家单元不存在";
reply();
return ;
}
string retInvite = TeamComponent.Instance.CheckCanInvite(targetUnit);
if (retInvite == null)
{
TeamComponent.Instance.InviteTeam(unit.TeamLeaderId, targetUnit);
response.Message = "正在邀请该玩家...";
}
else
{
response.Message = retInvite;
}
reply();
await ETTask.CompletedTask;
}
}
}