public override void Process(Level level) { var alliances = ObjectManager.GetInMemoryAlliances(); var joinableAlliances = new List <Alliance>(); var i = 0; var j = 0; while (j < m_vAllianceLimit && i < alliances.Count) { if (alliances[i].GetAllianceMembers().Count != 0 && alliances[i].GetAllianceName().Contains(m_vSearchString)) { joinableAlliances.Add(alliances[i]); j++; } i++; } joinableAlliances = joinableAlliances.ToList(); var p = new AllianceListMessage(Client); p.SetAlliances(joinableAlliances); p.SetSearchString(m_vSearchString); PacketManager.ProcessOutgoingPacket(p); }
public override void Process(Level level) { var alliances = ObjectManager.GetInMemoryAlliances(); if (ResourcesManager.GetInMemoryAlliances().Count == 0) { alliances = DatabaseManager.Single().GetAllAlliances(); } var joinableAlliances = new List <Alliance>(); var i = 0; var j = 0; while (j < m_vAllianceLimit && i < alliances.Count) { if (alliances[i].GetAllianceMembers().Count != 0) { if (alliances[i].GetAllianceName().Contains(m_vSearchString, StringComparison.OrdinalIgnoreCase)) { joinableAlliances.Add(alliances[i]); j++; } i++; } } joinableAlliances = joinableAlliances.ToList(); var p = new AllianceListMessage(Client); p.SetAlliances(joinableAlliances); p.SetSearchString(m_vSearchString); p.Send(); }
public override void Process(Level level) { if (m_vSearchString.Length > 15) { ResourcesManager.DisconnectClient(Client); } else { List <Alliance> alliances = ObjectManager.GetInMemoryAlliances(); List <Alliance> joinableAlliances = new List <Alliance>(); int i = 0; int j = 0; while (j < m_vAllianceLimit && i < alliances.Count) { if (alliances[i].GetAllianceMembers().Count != 0) { if (alliances[i].GetAllianceName().Contains(m_vSearchString, StringComparison.OrdinalIgnoreCase)) { joinableAlliances.Add(alliances[i]); j++; } i++; } } joinableAlliances = joinableAlliances.ToList(); AllianceListMessage p = new AllianceListMessage(Client); p.SetAlliances(joinableAlliances); p.SetSearchString(m_vSearchString); PacketProcessor.Send(p); } }
public override void Process(Level level) { var alliances = ObjectManager.GetInMemoryAlliances(); if (ResourcesManager.GetInMemoryAlliances().Count == 0) { alliances = DatabaseManager.Instance.GetAllAlliances(); } var joinableAlliances = new List <Alliance>(); for (int i = 0; i < alliances.Count; i++) { if (joinableAlliances.Count >= m_vAllianceLimit) { break; } var alliance = alliances[i]; if (m_vSearchString == null) { joinableAlliances.Add(alliance); } else { if (alliance.GetAllianceName().Contains(m_vSearchString, StringComparison.OrdinalIgnoreCase)) { joinableAlliances.Add(alliance); } } } joinableAlliances = joinableAlliances.ToList(); var message = new AllianceListMessage(Client); message.SetAlliances(joinableAlliances); message.SetSearchString(m_vSearchString); message.Send(); }
private static async void OnSearchAlliancesMessageReceived(SearchAlliancesMessage message, ForwardLogicRequestMessage requestMessage) { if (message.IsJoinableOnly()) { ServerRequestManager.Create(new AvatarRequestMessage { AccountId = requestMessage.AccountId }, ServerManager.GetDocumentSocket(9, requestMessage.AccountId), 5).OnComplete = async args => { LogicClientAvatar playerAvatar = null; if (args.ErrorCode == ServerRequestError.Success && args.ResponseMessage.Success) { playerAvatar = ((AvatarResponseMessage)args.ResponseMessage).LogicClientAvatar; } AllianceListMessage allianceListMessage = new AllianceListMessage(); allianceListMessage.SetAlliances(await SearchManager.SearchAlliances(message, playerAvatar)); allianceListMessage.SetBookmarkList(new LogicArrayList <LogicLong>()); allianceListMessage.SetSearchString(message.GetSearchString()); ServerMessageManager.SendMessage(SearchMessageManager.CreateForwardLogicMessage(allianceListMessage, requestMessage.SessionId), ServerManager.GetProxySocket(requestMessage.SessionId)); }; } else { AllianceListMessage allianceListMessage = new AllianceListMessage(); allianceListMessage.SetAlliances(await SearchManager.SearchAlliances(message, null)); allianceListMessage.SetBookmarkList(new LogicArrayList <LogicLong>()); allianceListMessage.SetSearchString(message.GetSearchString()); ServerMessageManager.SendMessage(SearchMessageManager.CreateForwardLogicMessage(allianceListMessage, requestMessage.SessionId), ServerManager.GetProxySocket(requestMessage.SessionId)); } }