Beispiel #1
0
 private Task HandleResponseAsync(Response response, CancellationToken ct)
 {
     return(response switch
     {
         PlayerRegistered playerRegistered => OnPlayerRegistered(playerRegistered, ct),
         MapUpdated mapUpdated => OnMapUpdated(mapUpdated, ct),
         GameLink gameLink => OnGameLink(gameLink),
         GameStarting gameStarting => OnGameStarting(gameStarting),
         GameResult gameResult => OnInfoEvent(gameResult),
         CharacterStunned characterStunned => OnInfoEvent(characterStunned),
         HeartBeatResponse heartBeatResponse => OnHearBeatEvent(heartBeatResponse, ct),
         GameEnded gameEnded => OnGameEnded(gameEnded),
         TournamentEnded tournamentEnded => OnTournamentEnded(tournamentEnded),
         InvalidPlayerName invalidPlayerName => OnInfoEvent(invalidPlayerName),
         _ => Task.CompletedTask
     });
Beispiel #2
0
 /// <summary>
 /// Ends the current tournament, saves the results, and schedules the next one.
 /// </summary>
 public void EndTournament(bool broadcasting)
 {
     if (CurrentTournament != null)
     {
         TournamentResults.Create(CurrentTournament);
         TournamentResults.Commit();
         DateTime?next;
         if (broadcasting)
         {
             next = CurrentTournament.Date.AddMinutes(Settings.FishingTournamentDuration + Settings.FishingTournamentInterval);
         }
         else
         {
             next = null;
         }
         NextTournament = next;
         TournamentEnded?.Invoke(CurrentTournament, next);
         CurrentTournament = null;
     }
 }
Beispiel #3
0
 private void OnTournamentEnded(TournamentEnded tournamentEnded)
 {
     _hasTournamentEnded = true;
     Console.WriteLine(tournamentEnded);
 }
 protected virtual void OnTournamentEnded(EventArgs e)
 {
     TournamentEnded?.Invoke(this, e);
 }