From c6ee5e547744a48c32fe494407b9795918cd74bc Mon Sep 17 00:00:00 2001 From: Jabak <163307958+Jabaks@users.noreply.github.com> Date: Sun, 25 Aug 2024 23:54:21 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=B5=D1=80=D0=BC=D0=BE=D0=BA=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=B8=D1=8F=20returned?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Managers/VoteManager.DefaultVotes.cs | 8 +---- .../_Honk/RoundEndVote/RoundEndVoteSystem.cs | 29 +++++++++++++++++++ 2 files changed, 30 insertions(+), 7 deletions(-) create mode 100644 Content.Server/_Honk/RoundEndVote/RoundEndVoteSystem.cs diff --git a/Content.Server/Voting/Managers/VoteManager.DefaultVotes.cs b/Content.Server/Voting/Managers/VoteManager.DefaultVotes.cs index c479f74989..a178ba5064 100644 --- a/Content.Server/Voting/Managers/VoteManager.DefaultVotes.cs +++ b/Content.Server/Voting/Managers/VoteManager.DefaultVotes.cs @@ -57,7 +57,7 @@ namespace Content.Server.Voting.Managers var ghostVotePercentageRequirement = _cfg.GetCVar(CCVars.VoteRestartGhostPercentage); var ghostCount = 0; - + foreach (var player in _playerManager.Sessions) { _playerManager.UpdateState(player); @@ -291,12 +291,6 @@ namespace Content.Server.Voting.Managers if(!preset.ShowInVote) continue; - if(_playerManager.PlayerCount < (preset.MinPlayers ?? int.MinValue)) - continue; - - if(_playerManager.PlayerCount > (preset.MaxPlayers ?? int.MaxValue)) - continue; - presets[preset.ID] = preset.ModeTitle; } return presets; diff --git a/Content.Server/_Honk/RoundEndVote/RoundEndVoteSystem.cs b/Content.Server/_Honk/RoundEndVote/RoundEndVoteSystem.cs new file mode 100644 index 0000000000..d7d94aedfb --- /dev/null +++ b/Content.Server/_Honk/RoundEndVote/RoundEndVoteSystem.cs @@ -0,0 +1,29 @@ +using Content.Server.GameTicking; +using Content.Server.RoundEnd; +using Content.Server.Voting.Managers; +using Content.Shared.Voting; + + +namespace Content.Server._Honk.RoundEndVote; + + +public sealed class RoundEndVoteSystem : EntitySystem +{ + [Dependency] private readonly IVoteManager _voteManager = default!; + [Dependency] private readonly GameTicker _gameTicker = default!; + + public override void Initialize() + { + SubscribeLocalEvent(OnRoundEndSystemChange); + } + + private void OnRoundEndSystemChange(RoundEndSystemChangedEvent ev) + { + //Эта строка проверяет, не находится ли игра в состоянии "PreRoundLobby". + if(_gameTicker.RunLevel != GameRunLevel.PreRoundLobby) + return; + + _voteManager.CreateStandardVote(null, StandardVoteType.Preset); + } + +}