(0cd6089c2) Disable campaign start button if a round is already running when joining.

This commit is contained in:
Joonas Rikkonen
2019-03-25 19:51:54 +02:00
parent 86c4b6a3ae
commit d98f0efd66
2 changed files with 16 additions and 7 deletions
@@ -457,11 +457,14 @@ namespace Barotrauma
{ {
IgnoreLayoutGroups = true, IgnoreLayoutGroups = true,
OnClicked = (GUIButton btn, object obj) => { StartRound?.Invoke(); return true; }, OnClicked = (GUIButton btn, object obj) => { StartRound?.Invoke(); return true; },
Enabled = true, Enabled = true
Visible = GameMain.Client == null ||
GameMain.Client.HasPermission(Networking.ClientPermissions.ManageRound) ||
GameMain.Client.HasPermission(Networking.ClientPermissions.ManageCampaign)
}; };
if (GameMain.Client != null)
{
startButton.Visible = !GameMain.Client.GameStarted &&
(GameMain.Client.HasPermission(Networking.ClientPermissions.ManageRound) ||
GameMain.Client.HasPermission(Networking.ClientPermissions.ManageCampaign));
}
} }
OnLocationSelected?.Invoke(location, connection); OnLocationSelected?.Invoke(location, connection);
@@ -726,6 +726,12 @@ namespace Barotrauma
spectateButton.Visible = GameMain.Client.GameStarted; spectateButton.Visible = GameMain.Client.GameStarted;
ReadyToStartBox.Visible = !GameMain.Client.GameStarted; ReadyToStartBox.Visible = !GameMain.Client.GameStarted;
ReadyToStartBox.Selected = false; ReadyToStartBox.Selected = false;
if (campaignUI?.StartButton != null)
{
campaignUI.StartButton.Visible = !GameMain.Client.GameStarted &&
(GameMain.Client.HasPermission(ClientPermissions.ManageRound) ||
GameMain.Client.HasPermission(ClientPermissions.ManageCampaign));
}
GameMain.Client.SetReadyToStart(ReadyToStartBox); GameMain.Client.SetReadyToStart(ReadyToStartBox);
} }
else else
@@ -847,9 +853,9 @@ namespace Barotrauma
if (campaignUI?.StartButton != null) if (campaignUI?.StartButton != null)
{ {
campaignUI.StartButton.Visible = campaignUI.StartButton.Visible = !GameMain.Client.GameStarted &&
GameMain.Client.HasPermission(ClientPermissions.ManageRound) || (GameMain.Client.HasPermission(ClientPermissions.ManageRound) ||
GameMain.Client.HasPermission(ClientPermissions.ManageCampaign); GameMain.Client.HasPermission(ClientPermissions.ManageCampaign));
} }
} }