protected internal override void Execute(IOnlineConnection Sender) { IOnlineConnection ClientToInvite; if (OnlineServer.DicPlayerByID.TryGetValue(ClientToInviteID, out ClientToInvite)) { if (!OnlineServer.DicCommunicationGroup.ContainsKey(GroupID)) { OnlineServer.CreateOrJoinCommunicationGroup(GroupID, true, Sender); } OnlineServer.JoinCommunicationGroup(GroupID, ClientToInvite); ClientToInvite.Send(new ReceiveGroupInviteScriptServer(GroupID, GroupName)); } else { //cross server string CommunicationServerIP; int CommunicationServerPort; OnlineServer.Database.GetPlayerCommunicationIP(ClientToInviteID, out CommunicationServerIP, out CommunicationServerPort); if (OnlineServer.IP != CommunicationServerIP || OnlineServer.Port != CommunicationServerPort) { Sender.Send(new ReceiveRemoteGroupInviteScriptServer(GroupID, GroupName, Sender.ID, Sender.Name, ClientToInviteID, CommunicationServerIP, CommunicationServerPort)); } } }
protected internal override void Execute(IOnlineConnection Sender) { OnlineCommunicationServer.CreateOrJoinCommunicationGroup(GroupID, SaveLogs, Sender); }