Beispiel #1
0
        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);
        }
Beispiel #2
0
        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();
        }
Beispiel #3
0
        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();
        }
Beispiel #5
0
        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));
            }
        }