public void MatchNewPlayer(ServerPlayer player) { lock (this) { if (!IsActive) { player.SendMessageBox("这个活动还没有开始匹配", 120, Color.Red); return; } if (IsMatched) { player.SendMessageBox("这个活动的匹配已经结束了,等待下一轮吧", 120, Color.Red); return; } else { MatchedPlayers.Add(player); player.InMatch = true; if (MatchedPlayers.Count == MaxPlayers) { CompleteMatch(); } } } }
public void Deactivate() { IsActive = false; IsMatched = false; GameStarted = false; innerCounter = 0; MessageSender.SendMatchesData(-1); OnDeactive(); foreach (var player in MatchedPlayers) { player.InMatch = false; player.CurrentMatch = null; } MatchedPlayers.Clear(); }