private void ValidateGameSession(TAccountModel[] players) { var lobby = new MatchWaiting <TAccountModel>(players, _host); lobby.OnValidateSuccess += CreateGameSession; lobby.BackToQueue += ReturnToQueue; }
private void CreateGameSession(MatchWaiting <TAccountModel> sender, TAccountModel[] players) { sender.BackToQueue -= ReturnToQueue; sender.OnValidateSuccess -= CreateGameSession; if (RoomCreated != null) { RoomCreated.Invoke(players); } }
private void ReturnToQueue(MatchWaiting <TAccountModel> sender, TAccountModel[] players) { sender.BackToQueue -= ReturnToQueue; sender.OnValidateSuccess -= CreateGameSession; foreach (var p in players) { _playerQueue.AddPlayer(p); } }