Example #1
0
        public void Release()
        {
            ValidReleaseOnce();

            GameServer game_s = null;

            while (m_FreeGameServerQueue.Count > 0)
            {
                game_s = m_FreeGameServerQueue.Dequeue();
                game_s.Release();
                game_s = null;
            }

            m_FreeGameServerQueue = null;

            foreach (GameServer tmp_game_s in m_ConnectedGameServerList)
            {
                tmp_game_s.Release();
            }

            m_ConnectedGameServerList.Clear();
            m_ConnectedGameServerList = null;

            foreach (GameServer tmp_game_s in m_AuthedGameServerDict.Values)
            {
                tmp_game_s.Release();
            }

            m_AuthedGameServerDict.Clear();
            m_AuthedGameServerDict = null;
        }
Example #2
0
        public void Release()
        {
            ValidReleaseOnce();

            User user = null;

            while (m_FreeUserQueue.Count > 0)
            {
                user = m_FreeUserQueue.Dequeue();
                user.Release();
            }

            m_FreeUserQueue = null;

            foreach (User tmp_user in m_ConnectedUserList)
            {
                tmp_user.Release();
            }

            m_ConnectedUserList.Clear();
            m_ConnectedUserList = null;

            foreach (User tmp_user in m_AuthedUserDict.Values)
            {
                tmp_user.Release();
            }

            m_AuthedUserDict.Clear();
            m_AuthedUserDict = null;
        }
Example #3
0
        public GameServerManager()
        {
            m_FreeGameServerQueue = new Queue <GameServer>();

            m_ConnectedGameServerList = new LightConcurrentList <GameServer>();
            m_AuthedGameServerDict    = new ConcurrentDictionary <uint, GameServer>();
        }
Example #4
0
        public UserManager()
        {
            m_FreeUserQueue = new Queue <User>();

            m_ConnectedUserList = new LightConcurrentList <User>();
            m_AuthedUserDict    = new ConcurrentDictionary <uint, User>();

            m_ConnectlessUserDict = new ConcurrentDictionary <uint, User>();
        }