(4d924cc86) Fixes to New Game and Game Settings layouts
+ merge fix
This commit is contained in:
@@ -657,14 +657,6 @@ namespace Barotrauma
|
|||||||
msg.Pos += msg.Velocity * deltaTime;
|
msg.Pos += msg.Velocity * deltaTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (GUIMessage msg in messages)
|
|
||||||
{
|
|
||||||
if (!msg.WorldSpace) continue;
|
|
||||||
msg.Timer -= deltaTime;
|
|
||||||
msg.Pos += msg.Velocity * deltaTime;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
messages.RemoveAll(m => m.Timer <= 0.0f);
|
messages.RemoveAll(m => m.Timer <= 0.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -737,10 +729,6 @@ namespace Barotrauma
|
|||||||
Vector2 textSize = font.MeasureString(text);
|
Vector2 textSize = font.MeasureString(text);
|
||||||
DrawRectangle(sb, pos - Vector2.One * backgroundPadding, textSize + Vector2.One * 2.0f * backgroundPadding, (Color)backgroundColor, true);
|
DrawRectangle(sb, pos - Vector2.One * backgroundPadding, textSize + Vector2.One * 2.0f * backgroundPadding, (Color)backgroundColor, true);
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
sb.Draw(t, new Rectangle(rect.X + thickness, rect.Y, rect.Width - thickness * 2, thickness), null, clr, 0.0f, Vector2.Zero, SpriteEffects.None, depth);
|
|
||||||
sb.Draw(t, new Rectangle(rect.X + thickness, rect.Y + rect.Height - thickness, rect.Width - thickness * 2, thickness), null, clr, 0.0f, Vector2.Zero, SpriteEffects.None, depth);
|
|
||||||
|
|
||||||
font.DrawString(sb, text, pos, color);
|
font.DrawString(sb, text, pos, color);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -74,11 +74,11 @@ namespace Barotrauma
|
|||||||
{
|
{
|
||||||
settingsFrame = new GUIFrame(new RectTransform(new Vector2(0.8f, 0.8f), GUI.Canvas, Anchor.Center));
|
settingsFrame = new GUIFrame(new RectTransform(new Vector2(0.8f, 0.8f), GUI.Canvas, Anchor.Center));
|
||||||
|
|
||||||
var settingsFramePadding = new GUIFrame(new RectTransform(new Vector2(0.95f, 0.9f), settingsFrame.RectTransform, Anchor.TopCenter) { RelativeOffset = new Vector2(0.0f, 0.05f) }, style: null);
|
var settingsFramePadding = new GUILayoutGroup(new RectTransform(new Vector2(0.95f, 0.9f), settingsFrame.RectTransform, Anchor.TopCenter) { RelativeOffset = new Vector2(0.0f, 0.05f) }) { RelativeSpacing = 0.005f, IsHorizontal = true };
|
||||||
|
|
||||||
/// General tab --------------------------------------------------------------
|
/// General tab --------------------------------------------------------------
|
||||||
|
|
||||||
var leftPanel = new GUILayoutGroup(new RectTransform(new Vector2(0.25f, 1.0f), settingsFramePadding.RectTransform, Anchor.TopLeft));
|
var leftPanel = new GUILayoutGroup(new RectTransform(new Vector2(0.2f, 1.0f), settingsFramePadding.RectTransform, Anchor.TopLeft));
|
||||||
|
|
||||||
new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.05f), leftPanel.RectTransform),
|
new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.05f), leftPanel.RectTransform),
|
||||||
TextManager.Get("Settings"), textAlignment: Alignment.TopLeft, font: GUI.LargeFont);
|
TextManager.Get("Settings"), textAlignment: Alignment.TopLeft, font: GUI.LargeFont);
|
||||||
@@ -88,7 +88,8 @@ namespace Barotrauma
|
|||||||
new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.05f), generalLayoutGroup.RectTransform), TextManager.Get("ContentPackages"));
|
new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.05f), generalLayoutGroup.RectTransform), TextManager.Get("ContentPackages"));
|
||||||
var contentPackageList = new GUIListBox(new RectTransform(new Vector2(1.0f, 0.75f), generalLayoutGroup.RectTransform))
|
var contentPackageList = new GUIListBox(new RectTransform(new Vector2(1.0f, 0.75f), generalLayoutGroup.RectTransform))
|
||||||
{
|
{
|
||||||
CanBeFocused = false
|
CanBeFocused = false,
|
||||||
|
ScrollBarVisible = true
|
||||||
};
|
};
|
||||||
|
|
||||||
foreach (ContentPackage contentPackage in ContentPackage.List)
|
foreach (ContentPackage contentPackage in ContentPackage.List)
|
||||||
@@ -118,8 +119,8 @@ namespace Barotrauma
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
new GUITextBlock(new RectTransform(new Vector2(0.95f, 0.045f), generalLayoutGroup.RectTransform), TextManager.Get("Language"));
|
new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.045f), generalLayoutGroup.RectTransform), TextManager.Get("Language"));
|
||||||
var languageDD = new GUIDropDown(new RectTransform(new Vector2(0.95f, 0.045f), generalLayoutGroup.RectTransform));
|
var languageDD = new GUIDropDown(new RectTransform(new Vector2(1.0f, 0.045f), generalLayoutGroup.RectTransform));
|
||||||
foreach (string language in TextManager.AvailableLanguages)
|
foreach (string language in TextManager.AvailableLanguages)
|
||||||
{
|
{
|
||||||
languageDD.AddItem(TextManager.Get("Language." + language), language);
|
languageDD.AddItem(TextManager.Get("Language." + language), language);
|
||||||
|
|||||||
@@ -283,18 +283,17 @@ namespace Barotrauma
|
|||||||
|
|
||||||
public void CreatePreviewWindow(GUIComponent parent)
|
public void CreatePreviewWindow(GUIComponent parent)
|
||||||
{
|
{
|
||||||
new GUITextBlock(new RectTransform(new Vector2(1, 0), parent.RectTransform, Anchor.TopCenter), Name, textAlignment: Alignment.Center, font: GUI.LargeFont, wrap: true);
|
var upperPart = new GUILayoutGroup(new RectTransform(new Vector2(1, 0.4f), parent.RectTransform, Anchor.Center, Pivot.BottomCenter));
|
||||||
|
var descriptionBox = new GUIListBox(new RectTransform(new Vector2(1, 0.35f), parent.RectTransform, Anchor.Center, Pivot.TopCenter)) { ScrollBarVisible = true };
|
||||||
var upperPart = new GUIFrame(new RectTransform(new Vector2(1, 0.4f), parent.RectTransform, Anchor.Center, Pivot.BottomCenter), color: Color.Transparent);
|
|
||||||
var descriptionBox = new GUIListBox(new RectTransform(new Vector2(1, 0.35f), parent.RectTransform, Anchor.Center, Pivot.TopCenter));
|
|
||||||
|
|
||||||
if (PreviewImage == null)
|
if (PreviewImage == null)
|
||||||
{
|
{
|
||||||
new GUITextBlock(new RectTransform(new Vector2(0.5f, 1), upperPart.RectTransform), TextManager.Get("SubPreviewImageNotFound"));
|
new GUITextBlock(new RectTransform(new Vector2(1.0f, 1), upperPart.RectTransform), TextManager.Get("SubPreviewImageNotFound"));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
new GUIImage(new RectTransform(new Vector2(0.6f, 1), upperPart.RectTransform), PreviewImage, scaleToFit: true);
|
var submarinePreviewBackground = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 1.0f), upperPart.RectTransform)) { Color = Color.Black };
|
||||||
|
new GUIImage(new RectTransform(new Vector2(1.0f, 1.0f), submarinePreviewBackground.RectTransform), PreviewImage, scaleToFit: true);
|
||||||
}
|
}
|
||||||
|
|
||||||
Vector2 realWorldDimensions = Dimensions * Physics.DisplayToRealWorldRatio;
|
Vector2 realWorldDimensions = Dimensions * Physics.DisplayToRealWorldRatio;
|
||||||
@@ -302,25 +301,29 @@ namespace Barotrauma
|
|||||||
TextManager.Get("Unknown") :
|
TextManager.Get("Unknown") :
|
||||||
TextManager.Get("DimensionsFormat").Replace("[width]", ((int)(realWorldDimensions.X)).ToString()).Replace("[height]", ((int)(realWorldDimensions.Y)).ToString());
|
TextManager.Get("DimensionsFormat").Replace("[width]", ((int)(realWorldDimensions.X)).ToString()).Replace("[height]", ((int)(realWorldDimensions.Y)).ToString());
|
||||||
|
|
||||||
var layoutGroup = new GUILayoutGroup(new RectTransform(new Vector2(0.38f, 1), upperPart.RectTransform, Anchor.TopRight));
|
var layoutGroup = new GUILayoutGroup(new RectTransform(new Vector2(0.5f, 0.5f), descriptionBox.Content.RectTransform));
|
||||||
|
|
||||||
|
new GUITextBlock(new RectTransform(new Vector2(1, 0), layoutGroup.RectTransform), Name, font: GUI.LargeFont, wrap: true) { ForceUpperCase = true };
|
||||||
|
|
||||||
new GUITextBlock(new RectTransform(new Vector2(1, 0), layoutGroup.RectTransform),
|
new GUITextBlock(new RectTransform(new Vector2(1, 0), layoutGroup.RectTransform),
|
||||||
$"{TextManager.Get("Dimensions")}: {dimensionsStr}",
|
$"{TextManager.Get("Dimensions")}: {dimensionsStr}",
|
||||||
font: GUI.SmallFont, wrap: true);
|
font: GUI.Font, wrap: true);
|
||||||
|
|
||||||
new GUITextBlock(new RectTransform(new Vector2(1, 0), layoutGroup.RectTransform),
|
new GUITextBlock(new RectTransform(new Vector2(1, 0), layoutGroup.RectTransform),
|
||||||
$"{TextManager.Get("RecommendedCrewSize")}: {(RecommendedCrewSizeMax == 0 ? TextManager.Get("Unknown") : RecommendedCrewSizeMin + " - " + RecommendedCrewSizeMax)}",
|
$"{TextManager.Get("RecommendedCrewSize")}: {(RecommendedCrewSizeMax == 0 ? TextManager.Get("Unknown") : RecommendedCrewSizeMin + " - " + RecommendedCrewSizeMax)}",
|
||||||
font: GUI.SmallFont, wrap: true);
|
font: GUI.Font, wrap: true);
|
||||||
|
|
||||||
new GUITextBlock(new RectTransform(new Vector2(1, 0), layoutGroup.RectTransform),
|
new GUITextBlock(new RectTransform(new Vector2(1, 0), layoutGroup.RectTransform),
|
||||||
$"{TextManager.Get("RecommendedCrewExperience")}: {(string.IsNullOrEmpty(RecommendedCrewExperience) ? TextManager.Get("unknown") : TextManager.Get(RecommendedCrewExperience))}",
|
$"{TextManager.Get("RecommendedCrewExperience")}: {(string.IsNullOrEmpty(RecommendedCrewExperience) ? TextManager.Get("unknown") : TextManager.Get(RecommendedCrewExperience))}",
|
||||||
font: GUI.SmallFont, wrap: true);
|
font: GUI.Font, wrap: true);
|
||||||
|
|
||||||
new GUITextBlock(new RectTransform(new Vector2(1, 0), layoutGroup.RectTransform),
|
new GUITextBlock(new RectTransform(new Vector2(1, 0), layoutGroup.RectTransform),
|
||||||
$"{TextManager.Get("RequiredContentPackages")}: {string.Join(", ", RequiredContentPackages)}",
|
$"{TextManager.Get("RequiredContentPackages")}: {string.Join(", ", RequiredContentPackages)}",
|
||||||
font: GUI.SmallFont, wrap: true);
|
font: GUI.Font, wrap: true);
|
||||||
|
|
||||||
new GUITextBlock(new RectTransform(new Vector2(1, 0), descriptionBox.Content.RectTransform, Anchor.TopLeft), Description, font: GUI.SmallFont, wrap: true)
|
new GUITextBlock(new RectTransform(new Vector2(1, 0), descriptionBox.Content.RectTransform), TextManager.Get("SaveSubDialogDescription") + ":", font: GUI.Font, wrap: true);
|
||||||
|
|
||||||
|
new GUITextBlock(new RectTransform(new Vector2(1, 0), descriptionBox.Content.RectTransform, Anchor.TopLeft), Description, font: GUI.Font, wrap: true)
|
||||||
{
|
{
|
||||||
CanBeFocused = false
|
CanBeFocused = false
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -50,33 +50,32 @@ namespace Barotrauma
|
|||||||
var leftColumn = new GUILayoutGroup(new RectTransform(Vector2.One, columnContainer.RectTransform))
|
var leftColumn = new GUILayoutGroup(new RectTransform(Vector2.One, columnContainer.RectTransform))
|
||||||
{
|
{
|
||||||
Stretch = true,
|
Stretch = true,
|
||||||
RelativeSpacing = 0.02f
|
RelativeSpacing = 0.015f
|
||||||
};
|
};
|
||||||
|
|
||||||
var rightColumn = new GUILayoutGroup(new RectTransform(isMultiplayer ? Vector2.Zero : new Vector2(1.5f, 1.0f), columnContainer.RectTransform))
|
var rightColumn = new GUILayoutGroup(new RectTransform(isMultiplayer ? Vector2.Zero : new Vector2(1.5f, 1.0f), columnContainer.RectTransform))
|
||||||
{
|
{
|
||||||
Stretch = true,
|
Stretch = true,
|
||||||
RelativeSpacing = 0.02f
|
RelativeSpacing = 0.015f
|
||||||
};
|
};
|
||||||
|
|
||||||
columnContainer.Recalculate();
|
columnContainer.Recalculate();
|
||||||
|
|
||||||
// New game left side
|
// New game left side
|
||||||
new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.07f), leftColumn.RectTransform), TextManager.Get("SaveName") + ":", textAlignment: Alignment.BottomLeft);
|
new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.02f), leftColumn.RectTransform), TextManager.Get("SaveName") + ":");
|
||||||
saveNameBox = new GUITextBox(new RectTransform(new Vector2(1.0f, 0.1f), leftColumn.RectTransform), string.Empty);
|
saveNameBox = new GUITextBox(new RectTransform(new Vector2(1.0f, 0.05f), leftColumn.RectTransform), string.Empty);
|
||||||
|
|
||||||
new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.07f), leftColumn.RectTransform), TextManager.Get("MapSeed") + ":", textAlignment: Alignment.BottomLeft);
|
new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.02f), leftColumn.RectTransform), TextManager.Get("MapSeed") + ":");
|
||||||
seedBox = new GUITextBox(new RectTransform(new Vector2(1.0f, 0.1f), leftColumn.RectTransform), ToolBox.RandomSeed(8));
|
seedBox = new GUITextBox(new RectTransform(new Vector2(1.0f, 0.05f), leftColumn.RectTransform), ToolBox.RandomSeed(8));
|
||||||
|
|
||||||
if (!isMultiplayer)
|
if (!isMultiplayer)
|
||||||
{
|
{
|
||||||
new GUIFrame(new RectTransform(new Vector2(1.0f, 0.02f), leftColumn.RectTransform), style: null);
|
contextualTutorialBox = new GUITickBox(new RectTransform(new Point(32, 32), leftColumn.RectTransform), TextManager.Get("TutorialActive"));
|
||||||
contextualTutorialBox = new GUITickBox(new RectTransform(new Vector2(1.0f, 0.1f), leftColumn.RectTransform), TextManager.Get("TutorialActive"));
|
|
||||||
UpdateTutorialSelection();
|
UpdateTutorialSelection();
|
||||||
}
|
}
|
||||||
|
|
||||||
new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.1f), leftColumn.RectTransform), TextManager.Get("SelectedSub") + ":", textAlignment: Alignment.BottomLeft);
|
new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.02f), leftColumn.RectTransform), TextManager.Get("SelectedSub") + ":");
|
||||||
subList = new GUIListBox(new RectTransform(new Vector2(1.0f, 0.65f), leftColumn.RectTransform));
|
subList = new GUIListBox(new RectTransform(new Vector2(1.0f, 0.65f), leftColumn.RectTransform)) { ScrollBarVisible = true };
|
||||||
|
|
||||||
if (!isMultiplayer) { subList.OnSelected = OnSubSelected; }
|
if (!isMultiplayer) { subList.OnSelected = OnSubSelected; }
|
||||||
|
|
||||||
@@ -237,10 +236,7 @@ namespace Barotrauma
|
|||||||
foreach (Submarine sub in subsToShow)
|
foreach (Submarine sub in subsToShow)
|
||||||
{
|
{
|
||||||
var textBlock = new GUITextBlock(
|
var textBlock = new GUITextBlock(
|
||||||
new RectTransform(new Vector2(1, 0.2f), subList.Content.RectTransform)
|
new RectTransform(new Vector2(1, 0.1f), subList.Content.RectTransform),
|
||||||
{
|
|
||||||
AbsoluteOffset = new Point(10, 0)
|
|
||||||
},
|
|
||||||
ToolBox.LimitString(sub.Name, GUI.Font, subList.Rect.Width - 65), style: "ListBoxElement")
|
ToolBox.LimitString(sub.Name, GUI.Font, subList.Rect.Width - 65), style: "ListBoxElement")
|
||||||
{
|
{
|
||||||
ToolTip = sub.Description,
|
ToolTip = sub.Description,
|
||||||
|
|||||||
+2
-5
@@ -332,8 +332,7 @@ namespace Barotrauma.Networking
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//too many events for one packet
|
if (client.NeedsMidRoundSync)
|
||||||
if (eventsToSync.Count > 200)
|
|
||||||
{
|
{
|
||||||
msg.Write((byte)ServerNetObject.ENTITY_EVENT_INITIAL);
|
msg.Write((byte)ServerNetObject.ENTITY_EVENT_INITIAL);
|
||||||
msg.Write(client.UnreceivedEntityEventCount);
|
msg.Write(client.UnreceivedEntityEventCount);
|
||||||
@@ -341,8 +340,7 @@ namespace Barotrauma.Networking
|
|||||||
|
|
||||||
Write(msg, eventsToSync, out sentEvents, client);
|
Write(msg, eventsToSync, out sentEvents, client);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
foreach (NetEntityEvent entityEvent in sentEvents)
|
|
||||||
{
|
{
|
||||||
msg.Write((byte)ServerNetObject.ENTITY_EVENT);
|
msg.Write((byte)ServerNetObject.ENTITY_EVENT);
|
||||||
Write(msg, eventsToSync, out sentEvents, client);
|
Write(msg, eventsToSync, out sentEvents, client);
|
||||||
@@ -353,7 +351,6 @@ namespace Barotrauma.Networking
|
|||||||
(entityEvent as ServerEntityEvent).Sent = true;
|
(entityEvent as ServerEntityEvent).Sent = true;
|
||||||
client.EntityEventLastSent[entityEvent.ID] = NetTime.Now;
|
client.EntityEventLastSent[entityEvent.ID] = NetTime.Now;
|
||||||
}
|
}
|
||||||
sentEvents = eventsToSync;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -890,7 +890,6 @@ namespace Barotrauma
|
|||||||
if (closestBody.UserData is Structure wall && wall.Submarine != null)
|
if (closestBody.UserData is Structure wall && wall.Submarine != null)
|
||||||
{
|
{
|
||||||
int sectionIndex = wall.FindSectionIndex(ConvertUnits.ToDisplayUnits(Submarine.LastPickedPosition));
|
int sectionIndex = wall.FindSectionIndex(ConvertUnits.ToDisplayUnits(Submarine.LastPickedPosition));
|
||||||
int passableHoleCount = GetMinimumPassableHoleCount();
|
|
||||||
|
|
||||||
float sectionDamage = wall.SectionDamage(sectionIndex);
|
float sectionDamage = wall.SectionDamage(sectionIndex);
|
||||||
for (int i = sectionIndex - 2; i <= sectionIndex + 2; i++)
|
for (int i = sectionIndex - 2; i <= sectionIndex + 2; i++)
|
||||||
@@ -1232,7 +1231,7 @@ namespace Barotrauma
|
|||||||
valueModifier = isOutdoor ? 1 : 0;
|
valueModifier = isOutdoor ? 1 : 0;
|
||||||
valueModifier *= isOpen ? 5 : 1;
|
valueModifier *= isOpen ? 5 : 1;
|
||||||
}
|
}
|
||||||
if (isDisabled)
|
else
|
||||||
{
|
{
|
||||||
valueModifier = isOutdoor ? 0 : 1;
|
valueModifier = isOutdoor ? 0 : 1;
|
||||||
valueModifier *= isOpen ? 0 : 1;
|
valueModifier *= isOpen ? 0 : 1;
|
||||||
|
|||||||
@@ -1289,11 +1289,7 @@ namespace Barotrauma
|
|||||||
LastSentSignalRecipients.Clear();
|
LastSentSignalRecipients.Clear();
|
||||||
if (connections == null) return;
|
if (connections == null) return;
|
||||||
|
|
||||||
public List<T> GetConnectedComponentsRecursive<T>(Connection c) where T : ItemComponent
|
stepsTaken++;
|
||||||
{
|
|
||||||
List<T> connectedComponents = new List<T>();
|
|
||||||
List<Item> alreadySearched = new List<Item>() { this };
|
|
||||||
GetConnectedComponentsRecursive(c, alreadySearched, connectedComponents);
|
|
||||||
|
|
||||||
if (!connections.TryGetValue(connectionName, out Connection c)) return;
|
if (!connections.TryGetValue(connectionName, out Connection c)) return;
|
||||||
|
|
||||||
|
|||||||
@@ -624,21 +624,6 @@ namespace Barotrauma
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!category.HasFlag(MapEntityCategory.Legacy) && string.IsNullOrEmpty(identifier))
|
|
||||||
{
|
|
||||||
DebugConsole.ThrowError(
|
|
||||||
"Item prefab \"" + name + "\" has no identifier. All item prefabs have a unique identifier string that's used to differentiate between items during saving and loading.");
|
|
||||||
}
|
|
||||||
if (!string.IsNullOrEmpty(identifier))
|
|
||||||
{
|
|
||||||
MapEntityPrefab existingPrefab = List.Find(e => e.Identifier == identifier);
|
|
||||||
if (existingPrefab != null)
|
|
||||||
{
|
|
||||||
DebugConsole.ThrowError(
|
|
||||||
"Map entity prefabs \"" + name + "\" and \"" + existingPrefab.Name + "\" have the same identifier!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (sprite == null)
|
if (sprite == null)
|
||||||
{
|
{
|
||||||
DebugConsole.ThrowError("Item \"" + Name + "\" has no sprite!");
|
DebugConsole.ThrowError("Item \"" + Name + "\" has no sprite!");
|
||||||
|
|||||||
Reference in New Issue
Block a user