Shuttle-tag is visible in menus, some menu layout tweaking
This commit is contained in:
@@ -404,7 +404,7 @@ namespace Barotrauma.Networking
|
|||||||
if (!string.IsNullOrEmpty(respawnInfo))
|
if (!string.IsNullOrEmpty(respawnInfo))
|
||||||
{
|
{
|
||||||
GUI.DrawString(spriteBatch,
|
GUI.DrawString(spriteBatch,
|
||||||
new Vector2(GameMain.GraphicsWidth - 400.0f, 20),
|
new Vector2(120.0f, 10),
|
||||||
respawnInfo, Color.White, null, 0, GUI.SmallFont);
|
respawnInfo, Color.White, null, 0, GUI.SmallFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -344,6 +344,8 @@ namespace Barotrauma
|
|||||||
|
|
||||||
GUI.AddMessage("Submarine saved to " + Submarine.MainSub.FilePath, Color.Green, 3.0f);
|
GUI.AddMessage("Submarine saved to " + Submarine.MainSub.FilePath, Color.Green, 3.0f);
|
||||||
|
|
||||||
|
saveFrame = null;
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -376,7 +378,7 @@ namespace Barotrauma
|
|||||||
Alignment.TopLeft, GUI.Style, saveFrame);
|
Alignment.TopLeft, GUI.Style, saveFrame);
|
||||||
descriptionBox.Wrap = true;
|
descriptionBox.Wrap = true;
|
||||||
descriptionBox.Text = Submarine.MainSub == null ? "" : Submarine.MainSub.Description;
|
descriptionBox.Text = Submarine.MainSub == null ? "" : Submarine.MainSub.Description;
|
||||||
descriptionBox.OnEnterPressed = ChangeSubDescription;
|
descriptionBox.OnTextChanged = ChangeSubDescription;
|
||||||
|
|
||||||
y += descriptionBox.Rect.Height + 15;
|
y += descriptionBox.Rect.Height + 15;
|
||||||
new GUITextBlock(new Rectangle(0, y, 150, 20), "Settings:", GUI.Style, saveFrame);
|
new GUITextBlock(new Rectangle(0, y, 150, 20), "Settings:", GUI.Style, saveFrame);
|
||||||
@@ -454,10 +456,16 @@ namespace Barotrauma
|
|||||||
new Rectangle(0, 0, 0, 25),
|
new Rectangle(0, 0, 0, 25),
|
||||||
sub.Name,
|
sub.Name,
|
||||||
GUI.Style,
|
GUI.Style,
|
||||||
Alignment.Left, Alignment.Left, subList);
|
Alignment.Left, Alignment.CenterY | Alignment.Right, subList);
|
||||||
textBlock.Padding = new Vector4(10.0f, 0.0f, 0.0f, 0.0f);
|
textBlock.Padding = new Vector4(10.0f, 0.0f, 0.0f, 0.0f);
|
||||||
textBlock.UserData = sub;
|
textBlock.UserData = sub;
|
||||||
textBlock.ToolTip = sub.FilePath;
|
textBlock.ToolTip = sub.FilePath;
|
||||||
|
|
||||||
|
if (sub.HasTag(SubmarineTag.Shuttle))
|
||||||
|
{
|
||||||
|
var shuttleText = new GUITextBlock(new Rectangle(0, 0, 0, 25), "Shuttle", GUI.Style, Alignment.Left, Alignment.CenterY | Alignment.Right, textBlock, false, GUI.SmallFont);
|
||||||
|
shuttleText.TextColor = textBlock.TextColor * 0.8f;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var deleteButton = new GUIButton(new Rectangle(0, 0, 70, 20), "Delete", Alignment.BottomLeft, GUI.Style, loadFrame);
|
var deleteButton = new GUIButton(new Rectangle(0, 0, 70, 20), "Delete", Alignment.BottomLeft, GUI.Style, loadFrame);
|
||||||
@@ -748,10 +756,10 @@ namespace Barotrauma
|
|||||||
|
|
||||||
// textBox.Rect = new Rectangle(textBox.Rect.Location, new Point(textBox.Rect.Width, 20));
|
// textBox.Rect = new Rectangle(textBox.Rect.Location, new Point(textBox.Rect.Width, 20));
|
||||||
|
|
||||||
textBox.Text = ToolBox.LimitString(text, 15);
|
//textBox.Text = ToolBox.LimitString(text, 15);
|
||||||
|
|
||||||
textBox.Flash(Color.Green);
|
//textBox.Flash(Color.Green);
|
||||||
textBox.Deselect();
|
//textBox.Deselect();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ namespace Barotrauma
|
|||||||
GUIFrame buttonsTab;
|
GUIFrame buttonsTab;
|
||||||
|
|
||||||
private GUIFrame[] menuTabs;
|
private GUIFrame[] menuTabs;
|
||||||
private GUIListBox mapList;
|
private GUIListBox subList;
|
||||||
|
|
||||||
private GUIListBox saveList;
|
private GUIListBox saveList;
|
||||||
|
|
||||||
@@ -85,40 +85,45 @@ namespace Barotrauma
|
|||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
|
|
||||||
menuTabs[(int)Tab.NewGame] = new GUIFrame(panelRect, GUI.Style);
|
menuTabs[(int)Tab.NewGame] = new GUIFrame(panelRect, GUI.Style);
|
||||||
//menuTabs[(int)Tabs.NewGame].Padding = GUI.style.smallPadding;
|
menuTabs[(int)Tab.NewGame].Padding = new Vector4(20.0f,20.0f,20.0f,20.0f);
|
||||||
|
|
||||||
//new GUITextBlock(new Rectangle(0, -20, 0, 30), "New Game", null, null, Alignment.CenterX, GUI.style, menuTabs[(int)Tabs.NewGame]);
|
//new GUITextBlock(new Rectangle(0, -20, 0, 30), "New Game", null, null, Alignment.CenterX, GUI.style, menuTabs[(int)Tabs.NewGame]);
|
||||||
|
|
||||||
new GUITextBlock(new Rectangle(0, 0, 0, 30), "Selected submarine:", null, null, Alignment.Left, GUI.Style, menuTabs[(int)Tab.NewGame]);
|
new GUITextBlock(new Rectangle(0, 0, 0, 30), "Selected submarine:", null, null, Alignment.Left, GUI.Style, menuTabs[(int)Tab.NewGame]);
|
||||||
mapList = new GUIListBox(new Rectangle(0, 30, 200, panelRect.Height-100), GUI.Style, menuTabs[(int)Tab.NewGame]);
|
subList = new GUIListBox(new Rectangle(0, 30, 230, panelRect.Height-100), GUI.Style, menuTabs[(int)Tab.NewGame]);
|
||||||
|
|
||||||
var subsToShow = Submarine.SavedSubmarines.Where(s => !s.HasTag(SubmarineTag.HideInMenus));
|
var subsToShow = Submarine.SavedSubmarines.Where(s => !s.HasTag(SubmarineTag.HideInMenus));
|
||||||
|
|
||||||
foreach (Submarine sub in Submarine.SavedSubmarines)
|
foreach (Submarine sub in Submarine.SavedSubmarines)
|
||||||
{
|
{
|
||||||
new GUITextBlock(
|
var textBlock = new GUITextBlock(
|
||||||
new Rectangle(0, 0, 0, 25),
|
new Rectangle(0, 0, 0, 25),
|
||||||
sub.Name, GUI.Style,
|
ToolBox.LimitString(sub.Name, GUI.Font, subList.Rect.Width-65), GUI.Style,
|
||||||
Alignment.Left, Alignment.Left, mapList)
|
Alignment.Left, Alignment.Left, subList)
|
||||||
{
|
{
|
||||||
Padding = new Vector4(10.0f, 0.0f, 0.0f, 0.0f),
|
Padding = new Vector4(10.0f, 0.0f, 0.0f, 0.0f),
|
||||||
ToolTip = sub.Description,
|
ToolTip = sub.Description,
|
||||||
UserData = sub
|
UserData = sub
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if (sub.HasTag(SubmarineTag.Shuttle))
|
||||||
|
{
|
||||||
|
var shuttleText = new GUITextBlock(new Rectangle(0, 0, 0, 25), "Shuttle", GUI.Style, Alignment.Left, Alignment.CenterY | Alignment.Right, textBlock, false, GUI.SmallFont);
|
||||||
|
shuttleText.TextColor = textBlock.TextColor * 0.8f;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (Submarine.SavedSubmarines.Count > 0) mapList.Select(Submarine.SavedSubmarines[0]);
|
if (Submarine.SavedSubmarines.Count > 0) subList.Select(Submarine.SavedSubmarines[0]);
|
||||||
|
|
||||||
new GUITextBlock(new Rectangle((int)(mapList.Rect.Width + 20), 0, 100, 20),
|
new GUITextBlock(new Rectangle((int)(subList.Rect.Width + 20), 0, 100, 20),
|
||||||
"Save name: ", GUI.Style, Alignment.Left, Alignment.Left, menuTabs[(int)Tab.NewGame]);
|
"Save name: ", GUI.Style, Alignment.Left, Alignment.Left, menuTabs[(int)Tab.NewGame]);
|
||||||
|
|
||||||
saveNameBox = new GUITextBox(new Rectangle((int)(mapList.Rect.Width + 30), 30, 180, 20),
|
saveNameBox = new GUITextBox(new Rectangle((int)(subList.Rect.Width + 30), 30, 180, 20),
|
||||||
Alignment.TopLeft, GUI.Style, menuTabs[(int)Tab.NewGame]);
|
Alignment.TopLeft, GUI.Style, menuTabs[(int)Tab.NewGame]);
|
||||||
|
|
||||||
new GUITextBlock(new Rectangle((int)(mapList.Rect.Width + 20), 60, 100, 20),
|
new GUITextBlock(new Rectangle((int)(subList.Rect.Width + 20), 60, 100, 20),
|
||||||
"Map Seed: ", GUI.Style, Alignment.Left, Alignment.Left, menuTabs[(int)Tab.NewGame]);
|
"Map Seed: ", GUI.Style, Alignment.Left, Alignment.Left, menuTabs[(int)Tab.NewGame]);
|
||||||
|
|
||||||
seedBox = new GUITextBox(new Rectangle((int)(mapList.Rect.Width + 30), 90, 180, 20),
|
seedBox = new GUITextBox(new Rectangle((int)(subList.Rect.Width + 30), 90, 180, 20),
|
||||||
Alignment.TopLeft, GUI.Style, menuTabs[(int)Tab.NewGame]);
|
Alignment.TopLeft, GUI.Style, menuTabs[(int)Tab.NewGame]);
|
||||||
seedBox.Text = ToolBox.RandomSeed(8);
|
seedBox.Text = ToolBox.RandomSeed(8);
|
||||||
|
|
||||||
@@ -492,7 +497,7 @@ namespace Barotrauma
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
Submarine selectedSub = mapList.SelectedData as Submarine;
|
Submarine selectedSub = subList.SelectedData as Submarine;
|
||||||
if (selectedSub == null) return false;
|
if (selectedSub == null) return false;
|
||||||
|
|
||||||
if (!Directory.Exists(SaveUtil.TempPath))
|
if (!Directory.Exists(SaveUtil.TempPath))
|
||||||
|
|||||||
@@ -655,14 +655,15 @@ namespace Barotrauma
|
|||||||
public void AddSubmarine(GUIComponent subList, Submarine sub)
|
public void AddSubmarine(GUIComponent subList, Submarine sub)
|
||||||
{
|
{
|
||||||
var subTextBlock = new GUITextBlock(
|
var subTextBlock = new GUITextBlock(
|
||||||
new Rectangle(0, 0, 0, 25), sub.Name, GUI.Style,
|
new Rectangle(0, 0, 0, 25), ToolBox.LimitString(sub.Name, GUI.Font, subList.Rect.Width - 65), GUI.Style,
|
||||||
Alignment.Left, Alignment.Left, subList)
|
Alignment.Left, Alignment.CenterY | Alignment.Left, subList)
|
||||||
{
|
{
|
||||||
Padding = new Vector4(10.0f, 0.0f, 0.0f, 0.0f),
|
Padding = new Vector4(10.0f, 0.0f, 0.0f, 0.0f),
|
||||||
ToolTip = sub.Description,
|
ToolTip = sub.Description,
|
||||||
UserData = sub
|
UserData = sub
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
var matchingSub = Submarine.SavedSubmarines.Find(s => s.Name == sub.Name);
|
var matchingSub = Submarine.SavedSubmarines.Find(s => s.Name == sub.Name);
|
||||||
if (matchingSub == null)
|
if (matchingSub == null)
|
||||||
{
|
{
|
||||||
@@ -681,6 +682,13 @@ namespace Barotrauma
|
|||||||
subTextBlock.TextColor = sub.HasTag(SubmarineTag.Shuttle) ? Color.White : Color.DarkGray;
|
subTextBlock.TextColor = sub.HasTag(SubmarineTag.Shuttle) ? Color.White : Color.DarkGray;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (sub.HasTag(SubmarineTag.Shuttle))
|
||||||
|
{
|
||||||
|
var shuttleText = new GUITextBlock(new Rectangle(0, 0, 0, 25), "Shuttle", GUI.Style, Alignment.Left, Alignment.CenterY | Alignment.Right, subTextBlock, false, GUI.SmallFont);
|
||||||
|
shuttleText.TextColor = subTextBlock.TextColor * 0.8f;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -309,7 +309,26 @@ namespace Barotrauma
|
|||||||
if (maxCharacters < 4 || str.Length <= maxCharacters) return str;
|
if (maxCharacters < 4 || str.Length <= maxCharacters) return str;
|
||||||
|
|
||||||
return str.Substring(0, maxCharacters-3) + "...";
|
return str.Substring(0, maxCharacters-3) + "...";
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string LimitString(string str, SpriteFont font, int maxWidth)
|
||||||
|
{
|
||||||
|
if (maxWidth <= 0 || string.IsNullOrWhiteSpace(str)) return "";
|
||||||
|
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
|
||||||
|
float currWidth = font.MeasureString("...").X;
|
||||||
|
for (int i = 0; i < str.Length; i++ )
|
||||||
|
{
|
||||||
|
currWidth += font.MeasureString(str[i].ToString()).X;
|
||||||
|
|
||||||
|
if (currWidth > maxWidth)
|
||||||
|
{
|
||||||
|
return str.Substring(0, i + 1) + "...";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return str;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string RandomSeed(int length)
|
public static string RandomSeed(int length)
|
||||||
|
|||||||
Reference in New Issue
Block a user