public static void Init() { GameAvatarManager.m_documents = new Dictionary <long, GameAvatar>(); int[] higherIDs = ServerGame.GameDatabase.GetCounterHigherIDs(); for (int i = 0; i < higherIDs.Length; i++) { int highId = i; Parallel.For(1, higherIDs[i] + 1, lowId => { LogicLong id = new LogicLong(highId, lowId); if (ServerManager.GetDocumentSocket(ServerCore.Type, id) == ServerCore.Socket) { IOperationResult <string> document = ServerGame.GameDatabase.Get(id).Result; if (document.Success) { lock (GameAvatarManager.m_documents) { GameAvatar gameDocument = CouchbaseDocument.Load <GameAvatar>(document.Value); GameAvatarManager.m_documents.Add(id, gameDocument); GameMatchmakingManager.Enqueue(gameDocument); } } } }); } }