Restart round vote now correctly shows round end screen. (#4817)
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
36
Content.Server/GameTicking/Commands/RestartRoundCommand.cs
Normal file
36
Content.Server/GameTicking/Commands/RestartRoundCommand.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -124,7 +124,7 @@ namespace Content.Server.RoundEnd
|
||||
OnRoundEndCountdownCancelled?.Invoke();
|
||||
}
|
||||
|
||||
private void EndRound()
|
||||
public void EndRound()
|
||||
{
|
||||
OnRoundEndCountdownFinished?.Invoke();
|
||||
var gameTicker = Get<GameTicker>();
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user