Merge pull request #13050 from rob-v/DefeatedPlayersCanNotPauseGame
Lost players except Host can not pause game #12227
This commit is contained in:
@@ -35,19 +35,20 @@ namespace OpenRA.Mods.Common.Commands
|
|||||||
|
|
||||||
public void InvokeCommand(string name, string arg)
|
public void InvokeCommand(string name, string arg)
|
||||||
{
|
{
|
||||||
if (world.LocalPlayer == null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
switch (name)
|
switch (name)
|
||||||
{
|
{
|
||||||
case "pause":
|
case "pause":
|
||||||
world.IssueOrder(new Order("PauseGame", null, false)
|
if (Game.IsHost || (world.LocalPlayer != null && world.LocalPlayer.WinState != WinState.Lost))
|
||||||
{
|
world.IssueOrder(new Order("PauseGame", null, false)
|
||||||
TargetString = world.Paused ? "UnPause" : "Pause"
|
{
|
||||||
});
|
TargetString = world.Paused ? "UnPause" : "Pause"
|
||||||
|
});
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case "surrender":
|
case "surrender":
|
||||||
world.IssueOrder(new Order("Surrender", world.LocalPlayer.PlayerActor, false));
|
if (world.LocalPlayer != null)
|
||||||
|
world.IssueOrder(new Order("Surrender", world.LocalPlayer.PlayerActor, false));
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -241,7 +241,8 @@ namespace OpenRA.Mods.Common.Widgets
|
|||||||
{
|
{
|
||||||
var key = Hotkey.FromKeyInput(e);
|
var key = Hotkey.FromKeyInput(e);
|
||||||
|
|
||||||
if (key == Game.Settings.Keys.PauseKey && World.LocalPlayer != null) // Disable pausing for spectators
|
if (key == Game.Settings.Keys.PauseKey
|
||||||
|
&& (Game.IsHost || (World.LocalPlayer != null && World.LocalPlayer.WinState != WinState.Lost))) // Disable pausing for spectators and defeated players
|
||||||
World.SetPauseState(!World.Paused);
|
World.SetPauseState(!World.Paused);
|
||||||
else if (key == Game.Settings.Keys.SelectAllUnitsKey && !World.IsGameOver)
|
else if (key == Game.Settings.Keys.SelectAllUnitsKey && !World.IsGameOver)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user