Merge remote-tracking branch 'upstream/master' into develop

This commit is contained in:
EvilFactory
2024-06-27 10:52:55 -03:00
32 changed files with 411 additions and 132 deletions
@@ -39,7 +39,7 @@ namespace Barotrauma
public CampaignMode Campaign { get; }
public CrewManagement CrewManagement { get; set; }
public HRManagerUI HRManagerUI { get; set; }
public Store Store { get; private set; }
@@ -102,7 +102,7 @@ namespace Barotrauma
var crewTab = new GUIFrame(new RectTransform(Vector2.One, container.RectTransform), color: Color.Black * 0.9f);
tabs[(int)CampaignMode.InteractionType.Crew] = crewTab;
CrewManagement = new CrewManagement(this, crewTab);
HRManagerUI = new HRManagerUI(this, crewTab);
// store tab -------------------------------------------------------------------------
@@ -204,7 +204,7 @@ namespace Barotrauma
submarineSelection?.Update();
break;
case CampaignMode.InteractionType.Crew:
CrewManagement?.Update();
HRManagerUI?.Update();
break;
case CampaignMode.InteractionType.Store:
Store?.Update(deltaTime);
@@ -598,8 +598,8 @@ namespace Barotrauma
Store.SelectStore(npc);
break;
case CampaignMode.InteractionType.Crew:
CrewManagement.UpdateCrew();
CrewManagement.UpdateHireables();
HRManagerUI.UpdateCrew();
HRManagerUI.UpdateHireables();
break;
case CampaignMode.InteractionType.PurchaseSub:
submarineSelection ??= new SubmarineSelection(false, () => Campaign.ShowCampaignUI = false, tabs[(int)CampaignMode.InteractionType.PurchaseSub].RectTransform);
@@ -1116,6 +1116,36 @@ namespace Barotrauma
AssignComponentToServerSetting(skillLossImmediateRespawnSlider, nameof(ServerSettings.SkillLossPercentageOnImmediateRespawn));
skillLossImmediateRespawnSlider.OnMoved(skillLossImmediateRespawnSlider, skillLossImmediateRespawnSlider.BarScroll);
var newCharacterCostSliderElement = CreateLabeledSlider(settingsContent,
"ServerSettings.ReplaceCostPercentage", "", "ServerSettings.ReplaceCostPercentage.tooltip",
out var newCharacterCostSlider, out var newCharacterCostSliderLabel,
range: new Vector2(0, 200), step: 10f);
newCharacterCostSlider.StepValue = 10f;
newCharacterCostSlider.OnMoved = (GUIScrollBar scrollBar, float _) =>
{
GUITextBlock textBlock = scrollBar.UserData as GUITextBlock;
int currentMultiplier = (int)Math.Round(scrollBar.BarScrollValue);
if (currentMultiplier < 1)
{
textBlock.Text = TextManager.Get("ServerSettings.ReplaceCostPercentage.Free");
}
else
{
textBlock.Text = TextManager.GetWithVariable("percentageformat", "[value]", currentMultiplier.ToString());
}
return true;
};
newCharacterCostSlider.OnReleased = (GUIScrollBar scrollBar, float barScroll) =>
{
GameMain.Client?.ServerSettings.ClientAdminWrite(ServerSettings.NetFlags.Properties);
return true;
};
clientDisabledElements.AddRange(newCharacterCostSliderElement.GetAllChildren());
permadeathEnabledRespawnSettings.AddRange(newCharacterCostSliderElement.GetAllChildren());
ironmanDisabledRespawnSettings.AddRange(newCharacterCostSliderElement.GetAllChildren());
AssignComponentToServerSetting(newCharacterCostSlider, nameof(ServerSettings.ReplaceCostPercentage));
newCharacterCostSlider.OnMoved(newCharacterCostSlider, newCharacterCostSlider.BarScroll); // initialize
var allowBotTakeoverTickbox = new GUITickBox(new RectTransform(Vector2.One, settingsContent.RectTransform), TextManager.Get("AllowBotTakeover"))
{
ToolTip = TextManager.Get("AllowBotTakeover.Tooltip"),
@@ -1834,7 +1864,8 @@ namespace Barotrauma
OverflowClip = true
};
if (PermanentlyDead)
if (!allowEditing ||
(PermanentlyDead && !characterInfo.RenamingEnabled))
{
CharacterNameBox.Readonly = true;
CharacterNameBox.Enabled = false;