Пример #1
0
 private void Callbacks_BeginRace(object sender, BeginRaceEventArgs e)
 {
     if (Settings.HidOnFinish)
     {
         RunCatchLog(SendContentToAll, "Error in Callbacks_BeginRace Method.", true);
     }
 }
Пример #2
0
        private void Callbacks_BeginRace(object sender, BeginRaceEventArgs e)
        {
            RunCatchLog(() =>
            {
                ReportCurrentChallenge(null, e.ChallengeInfo);

                if (IsDedimaniaResponsive)
                {
                    ResetUpdateServerPlayersTimer();
                }
            }, "Error in Callbacks_BeginChallenge Method.", true);
        }
Пример #3
0
        private void Callbacks_BeginRace(object sender, BeginRaceEventArgs e)
        {
            RunCatchLog(() =>
            {
                EnsureChallengeExistsInStorage(e.ChallengeInfo);
                DetermineLocalRecords();
                OnLocalRecordsDetermined(new List <RankEntry>(LocalRecords));

                if (ChallengeChanged != null)
                {
                    ChallengeChanged(this, EventArgs.Empty);
                }
            }, "Error in Callbacks_BeginRace Method.", true);
        }
Пример #4
0
        private void Callbacks_BeginRace(object sender, BeginRaceEventArgs e)
        {
            RunCatchLog(() =>
            {
                if (Settings.KickMode != IdleKickMode.ROUNDS)
                {
                    return;
                }

                List <KeyValuePair <string, uint> > loginsToKick;
                lock (_readWriteLockObject)
                {
                    foreach (string login in LoginRounds.Keys.ToArray())
                    {
                        IncreaseLoginRounds(login);
                    }

                    loginsToKick = LoginRounds.Where(loginRound => loginRound.Value >= Settings.RoundsCount && !LoginHasRight(loginRound.Key, false, "NoIdleKick")).ToList();
                }

                foreach (KeyValuePair <string, uint> loginRound in loginsToKick)
                {
                    if (!Settings.KickSpectators)
                    {
                        PlayerSettings playerSettings = GetPlayerSettings(loginRound.Key);

                        if (playerSettings == null || playerSettings.SpectatorStatus.IsSpectator)
                        {
                            ResetLoginRounds(loginRound.Key);
                            continue;
                        }
                    }

                    KickLogin(loginRound.Key);
                }
            }, "Error in Callbacks_BeginChallenge Method.", true);
        }