- Barotrauma's projects are in the Barotrauma directory - All libraries are in the Libraries directory - MonoGame is now managed by NuGet, rather than referenced from the installed files (TODO: consider using PCL for easier cross-platform development?) - NuGet libraries are not included in the repo, as getting the latest versions automatically should be preferred - Removed Content/effects.mgfx as it didn't seem to be used anywhere - Removed some references to Subsurface directory - Renamed Launcher2 to Launcher
76 lines
2.5 KiB
C#
76 lines
2.5 KiB
C#
using Microsoft.Xna.Framework;
|
|
using Microsoft.Xna.Framework.Graphics;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Xml.Linq;
|
|
|
|
namespace Barotrauma
|
|
{
|
|
partial class CharacterInfo
|
|
{
|
|
|
|
public GUIFrame CreateInfoFrame(Rectangle rect)
|
|
{
|
|
GUIFrame frame = new GUIFrame(rect, Color.Transparent);
|
|
frame.Padding = new Vector4(10.0f, 10.0f, 10.0f, 10.0f);
|
|
|
|
return CreateInfoFrame(frame);
|
|
}
|
|
|
|
public GUIFrame CreateInfoFrame(GUIFrame frame)
|
|
{
|
|
new GUIImage(new Rectangle(0, 0, 30, 30), HeadSprite, Alignment.TopLeft, frame);
|
|
|
|
ScalableFont font = frame.Rect.Width < 280 ? GUI.SmallFont : GUI.Font;
|
|
|
|
int x = 0, y = 0;
|
|
new GUITextBlock(new Rectangle(x + 60, y, 200, 20), Name, "", frame, font);
|
|
y += 20;
|
|
|
|
if (Job != null)
|
|
{
|
|
new GUITextBlock(new Rectangle(x + 60, y, 200, 20), Job.Name, "", frame, font);
|
|
y += 30;
|
|
|
|
var skills = Job.Skills;
|
|
skills.Sort((s1, s2) => -s1.Level.CompareTo(s2.Level));
|
|
|
|
new GUITextBlock(new Rectangle(x, y, 200, 20), "Skills:", "", frame, font);
|
|
y += 20;
|
|
foreach (Skill skill in skills)
|
|
{
|
|
Color textColor = Color.White * (0.5f + skill.Level / 200.0f);
|
|
new GUITextBlock(new Rectangle(x, y, 200, 20), skill.Name, Color.Transparent, textColor, Alignment.Left, "", frame).Font = font;
|
|
new GUITextBlock(new Rectangle(x, y, 200, 20), skill.Level.ToString(), Color.Transparent, textColor, Alignment.Right, "", frame).Font = font;
|
|
y += 20;
|
|
}
|
|
}
|
|
|
|
|
|
return frame;
|
|
}
|
|
|
|
public GUIFrame CreateCharacterFrame(GUIComponent parent, string text, object userData)
|
|
{
|
|
GUIFrame frame = new GUIFrame(new Rectangle(0, 0, 0, 40), Color.Transparent, "ListBoxElement", parent);
|
|
frame.UserData = userData;
|
|
|
|
GUITextBlock textBlock = new GUITextBlock(
|
|
new Rectangle(40, 0, 0, 25),
|
|
text,
|
|
null, null,
|
|
Alignment.Left, Alignment.Left,
|
|
"", frame, false);
|
|
textBlock.Font = GUI.SmallFont;
|
|
textBlock.Padding = new Vector4(5.0f, 0.0f, 5.0f, 0.0f);
|
|
|
|
new GUIImage(new Rectangle(-5, -5, 0, 0), HeadSprite, Alignment.Left, frame);
|
|
|
|
return frame;
|
|
}
|
|
|
|
}
|
|
}
|