Example #1
0
        public ServerConnectionState Find(ServerIdPacket.ServerType type, int gameId)
        {
            ServerGroupByType group = groups.Find(g => g.Type == type);

            if (group == null)
            {
                return(null);
            }
            return(group.Find(gameId));
        }
Example #2
0
        public int GetNumberOfServers(ServerIdPacket.ServerType type)
        {
            ServerGroupByType group = groups.Find(g => g.Type == type);

            if (group == null)
            {
                return(0);
            }
            return(group.Count);
        }
Example #3
0
        public bool Add(ServerConnectionState server)
        {
            ServerIdPacket.ServerType type  = server.serverType;
            ServerGroupByType         group = groups.Find(g => g.Type == type);

            if (group == null)
            {
                group = new ServerGroupByType(type);
                groups.Add(group);
            }
            return(group.Add(server));
        }
Example #4
0
        public List <int> GetGameServerIds()
        {
            List <int> serverIds = new List <int>();

            ServerIdPacket.ServerType type  = ServerIdPacket.ServerType.Game;
            ServerGroupByType         group = groups.Find(g => g.Type == type);

            if (group != null)
            {
                foreach (var g in group)
                {
                    serverIds.Add(g.gameId);
                }
            }
            return(serverIds);
        }
Example #5
0
        IEnumerator IEnumerable.GetEnumerator()
        {
            for (int i = groups.Count - 1; i >= 0; i--)
            {
                ServerGroupByType group = groups[i];
                var groupEnum           = group.GetEnumerator();
                while (groupEnum.MoveNext())
                {
                    yield return(groupEnum.Current);

                    if (group != groups[i])
                    {
                        // We've removed the group we're iterating over,
                        // so skip over it
                        break;
                    }
                }
            }
        }