v0.11.0.9

This commit is contained in:
Joonas Rikkonen
2020-12-09 16:34:16 +02:00
parent bbf06f0984
commit f433a7ba10
325 changed files with 13947 additions and 3652 deletions
@@ -832,7 +832,7 @@ namespace Barotrauma
var modeFrame = new GUIFrame(new RectTransform(new Vector2(1.0f, 0.15f), modeList.Content.RectTransform), style: null)
{
UserData = mode
};
};
var modeContent = new GUILayoutGroup(new RectTransform(new Vector2(0.75f, 0.9f), modeFrame.RectTransform, Anchor.CenterRight) { RelativeOffset = new Vector2(0.02f, 0.0f) })
{
@@ -910,21 +910,24 @@ namespace Barotrauma
}
};
missionTypeTickBoxes = new GUITickBox[Enum.GetValues(typeof(MissionType)).Length - 2];
var missionTypes = (MissionType[])Enum.GetValues(typeof(MissionType));
missionTypeTickBoxes = new GUITickBox[missionTypes.Length - 2];
int index = 0;
foreach (MissionType missionType in Enum.GetValues(typeof(MissionType)))
for (int i = 0; i < missionTypes.Length; i++)
{
var missionType = missionTypes[i];
if (missionType == MissionType.None || missionType == MissionType.All) { continue; }
GUIFrame frame = new GUIFrame(new RectTransform(new Vector2(1.0f, 0.05f), missionTypeList.Content.RectTransform) { MinSize = new Point(0, (int)(30 * GUI.Scale)) }, style: "ListBoxElement")
{
UserData = index,
UserData = missionType,
};
missionTypeTickBoxes[index] = new GUITickBox(new RectTransform(Vector2.One, frame.RectTransform),
TextManager.Get("MissionType." + missionType.ToString()))
{
UserData = (int)missionType,
ToolTip = TextManager.Get("MissionTypeDescription." + missionType.ToString(), returnNull: true),
OnSelected = (tickbox) =>
{
int missionTypeOr = tickbox.Selected ? (int)tickbox.UserData : (int)MissionType.None;
@@ -934,7 +937,6 @@ namespace Barotrauma
}
};
frame.RectTransform.MinSize = missionTypeTickBoxes[index].RectTransform.MinSize;
index++;
}
clientDisabledElements.AddRange(missionTypeTickBoxes);
@@ -1485,7 +1487,7 @@ namespace Barotrauma
return true;
}
};
}
}
}
private void CreateChangesPendingText()
@@ -2509,7 +2511,7 @@ namespace Barotrauma
Selected = info.Gender == Gender.Female
};
int hairCount = info.FilterByTypeAndHeadID(info.FilterElementsByGenderAndRace(info.Wearables), WearableType.Hair).Count();
int hairCount = info.FilterByTypeAndHeadID(info.FilterElementsByGenderAndRace(info.Wearables, info.Head.gender, info.Head.race), WearableType.Hair, info.HeadSpriteId).Count();
if (hairCount > 0)
{
var label = new GUITextBlock(new RectTransform(elementSize, content.RectTransform), TextManager.Get("FaceAttachment.Hair"), font: GUI.SubHeadingFont);
@@ -2524,7 +2526,7 @@ namespace Barotrauma
};
}
int beardCount = info.FilterByTypeAndHeadID(info.FilterElementsByGenderAndRace(info.Wearables), WearableType.Beard).Count();
int beardCount = info.FilterByTypeAndHeadID(info.FilterElementsByGenderAndRace(info.Wearables, info.Head.gender, info.Head.race), WearableType.Beard, info.HeadSpriteId).Count();
if (beardCount > 0)
{
var label = new GUITextBlock(new RectTransform(elementSize, content.RectTransform), TextManager.Get("FaceAttachment.Beard"), font: GUI.SubHeadingFont);
@@ -2539,7 +2541,7 @@ namespace Barotrauma
};
}
int moustacheCount = info.FilterByTypeAndHeadID(info.FilterElementsByGenderAndRace(info.Wearables), WearableType.Moustache).Count();
int moustacheCount = info.FilterByTypeAndHeadID(info.FilterElementsByGenderAndRace(info.Wearables, info.Head.gender, info.Head.race), WearableType.Moustache, info.HeadSpriteId).Count();
if (moustacheCount > 0)
{
var label = new GUITextBlock(new RectTransform(elementSize, content.RectTransform), TextManager.Get("FaceAttachment.Moustache"), font: GUI.SubHeadingFont);
@@ -2554,7 +2556,7 @@ namespace Barotrauma
};
}
int faceAttachmentCount = info.FilterByTypeAndHeadID(info.FilterElementsByGenderAndRace(info.Wearables), WearableType.FaceAttachment).Count();
int faceAttachmentCount = info.FilterByTypeAndHeadID(info.FilterElementsByGenderAndRace(info.Wearables, info.Head.gender, info.Head.race), WearableType.FaceAttachment, info.HeadSpriteId).Count();
if (faceAttachmentCount > 0)
{
var label = new GUITextBlock(new RectTransform(elementSize, content.RectTransform), TextManager.Get("FaceAttachment.Accessories"), font: GUI.SubHeadingFont);
@@ -2976,7 +2978,7 @@ namespace Barotrauma
public void SelectMode(int modeIndex)
{
if (modeIndex < 0 || modeIndex >= modeList.Content.CountChildren) { return; }
if ((GameModePreset)modeList.Content.GetChild(modeIndex).UserData != GameModePreset.MultiPlayerCampaign)
{
ToggleCampaignMode(false);
@@ -3001,16 +3003,33 @@ namespace Barotrauma
RefreshGameModeContent();
}
private void RefreshMissionTypes()
{
for (int i = 0; i < missionTypeTickBoxes.Length; i++)
{
MissionType missionType = (MissionType)((int)missionTypeTickBoxes[i].UserData);
if (SelectedMode == GameModePreset.Mission)
{
missionTypeTickBoxes[i].Parent.Visible = MissionPrefab.CoOpMissionClasses.ContainsKey(missionType);
}
else if (SelectedMode == GameModePreset.PvP)
{
missionTypeTickBoxes[i].Parent.Visible = MissionPrefab.PvPMissionClasses.ContainsKey(missionType);
}
}
}
private void RefreshGameModeContent()
{
if (GameMain.Client == null) { return; }
autoRestartBox.Parent.Visible = true;
settingsBlocker.Visible = false;
if (SelectedMode == GameModePreset.Mission)
if (SelectedMode == GameModePreset.Mission || SelectedMode == GameModePreset.PvP)
{
MissionTypeFrame.Visible = true;
CampaignFrame.Visible = CampaignSetupFrame.Visible = false;
RefreshMissionTypes();
}
else if (SelectedMode == GameModePreset.MultiPlayerCampaign)
{
@@ -3062,7 +3081,7 @@ namespace Barotrauma
RefreshEnabledElements();
if (enabled)
{
modeList.Select(2, true);
modeList.Select(GameModePreset.MultiPlayerCampaign, true);
}
}