using System; namespace ET { [ActorMessageHandler] public class C2M_InviteTeamHandler : AMActorLocationRpcHandler { 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; } } }