Restart round vote now correctly shows round end screen. (#4817)

This commit is contained in:
moonheart08
2021-10-09 13:18:20 -05:00
committed by GitHub
parent 1a635553cb
commit 9f0c3daa65
5 changed files with 42 additions and 28 deletions

View File

@@ -12,8 +12,8 @@ using Robust.Shared.Timing;
namespace Content.IntegrationTests.Tests.Commands
{
[TestFixture]
[TestOf(typeof(NewRoundCommand))]
public class RestartRoundTest : ContentIntegrationTest
[TestOf(typeof(RestartRoundNowCommand))]
public class RestartRoundNowTest : ContentIntegrationTest
{
[Test]
[TestCase(true)]
@@ -46,7 +46,7 @@ namespace Content.IntegrationTests.Tests.Commands
tickBeforeRestart = entityManager.CurrentTick;
var command = new NewRoundCommand();
var command = new RestartRoundNowCommand();
command.Execute(null, string.Empty, Array.Empty<string>());
if (lobbyEnabled)

View File

@@ -1,23 +0,0 @@
using System;
using Content.Server.Administration;
using Content.Shared.Administration;
using Robust.Shared.Console;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
namespace Content.Server.GameTicking.Commands
{
[AdminCommand(AdminFlags.Server)]
public class NewRoundCommand : IConsoleCommand
{
public string Command => "restartround";
public string Description => "Moves the server from PostRound to a new PreRoundLobby.";
public string Help => String.Empty;
public void Execute(IConsoleShell shell, string argStr, string[] args)
{
var ticker = EntitySystem.Get<GameTicker>();
ticker.RestartRound();
}
}
}

View File

@@ -0,0 +1,36 @@
using System;
using Content.Server.Administration;
using Content.Server.RoundEnd;
using Content.Shared.Administration;
using Robust.Shared.Console;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
namespace Content.Server.GameTicking.Commands
{
[AdminCommand(AdminFlags.Server)]
public class RestartRoundCommand : IConsoleCommand
{
public string Command => "restartround";
public string Description => "Ends the current round and starts the countdown for the next lobby.";
public string Help => String.Empty;
public void Execute(IConsoleShell shell, string argStr, string[] args)
{
EntitySystem.Get<RoundEndSystem>().EndRound();
}
}
[AdminCommand(AdminFlags.Server)]
public class RestartRoundNowCommand : IConsoleCommand
{
public string Command => "restartroundnow";
public string Description => "Moves the server from PostRound to a new PreRoundLobby.";
public string Help => String.Empty;
public void Execute(IConsoleShell shell, string argStr, string[] args)
{
EntitySystem.Get<GameTicker>().EndRound();
}
}
}

View File

@@ -124,7 +124,7 @@ namespace Content.Server.RoundEnd
OnRoundEndCountdownCancelled?.Invoke();
}
private void EndRound()
public void EndRound()
{
OnRoundEndCountdownFinished?.Invoke();
var gameTicker = Get<GameTicker>();

View File

@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using Content.Server.GameTicking;
using Content.Server.RoundEnd;
using Content.Shared.CCVar;
using Content.Shared.Voting;
using Robust.Server.Player;
@@ -63,7 +64,7 @@ namespace Content.Server.Voting.Managers
if (votesYes / (float) total >= ratioRequired)
{
_chatManager.DispatchServerAnnouncement(Loc.GetString("ui-vote-restart-succeeded"));
EntitySystem.Get<GameTicker>().RestartRound();
EntitySystem.Get<RoundEndSystem>().EndRound();
}
else
{