public void Assign(SessionInterface defaultInterface) { MatchmakeUser matchedUser = defaultInterface as MatchmakeUser; GameObject newPlayer = gameObjectManager.CreateGameObject(matchedUser.Nickname, false); newPlayer.Tag = TAG.Character; UserGameObjectIndexes.Add(newPlayer.id); Scoreboard.AddNewEmptyPlayerScore(newPlayer.Name); UserSession userSession = new UserSession(); userSession.UserNickname = matchedUser.Nickname; userSession.TakeOver(matchedUser); userMediator.Add(userSession); UserInputProcess userInputProcess = newPlayer.AddComponent <UserInputProcess>(); userInputProcess.SetFence(this.mapCenter, this.mapHeight, this.mapWidth); //Console.WriteLine(matchedUser.Nickname + "이가 게임에 참가했습니다."); if (userMediator.GetSessionsCount() == Config.USER_COUNT_PER_ONE_GAME) { Start(); } }
public void Assign(SessionInterface defaultInterface) { LoginUser src = defaultInterface as LoginUser; MatchmakeUser user = new MatchmakeUser(); user.TakeOver(defaultInterface); user.Nickname = src.Nickname; Console.WriteLine("새로운 유저가 매치메이킹에 등록됨. " + user.Nickname); }
public void RemoveMatchingList(MatchmakeUser user, bool flagLock) { if (flagLock) { lock (lockMatchingList) { matchingUserList[user.Index] = null; matchingUserIndexPool.Push(user.Index); user.Index = -1; Console.WriteLine(user.Nickname + " 가 매치 검색을 취소했습니다."); } } else { matchingUserList[user.Index] = null; matchingUserIndexPool.Push(user.Index); user.Index = -1; Console.WriteLine(user.Nickname + " 가 매치 검색을 취소했습니다."); } }
public bool AddMatchingList(MatchmakeUser user, bool flagLock) { if (flagLock) { lock (lockMatchingList) { if (matchingUserIndexPool.Count > 0) { int index = matchingUserIndexPool.Pop(); matchingUserList[index] = user; user.Index = index; Console.WriteLine(user.Nickname + " 가 매치 검색을 시작했습니다."); } else { return(false); } } } else { if (matchingUserIndexPool.Count > 0) { int index = matchingUserIndexPool.Pop(); matchingUserList[index] = user; user.Index = index; Console.WriteLine(user.Nickname + " 가 매치 검색을 시작했습니다."); } else { return(false); } } return(true); }
public void CancelMatching(MatchmakeUser user) { RemoveMatchingList(user, true); user.Send(allow_cancel_matchmake); }
public void StartMatching(MatchmakeUser user) { AddMatchingList(user, true); user.Send(allow_matchmake); }