(975eacb57) Merge branch 'dev' of https://github.com/Regalis11/Barotrauma-development into dev

This commit is contained in:
Joonas Rikkonen
2019-05-07 16:23:16 +03:00
parent bb6067df31
commit 482f3c1f3c
24 changed files with 200 additions and 97 deletions
@@ -11,7 +11,7 @@ namespace Barotrauma
{
private static Regex csvSplit = new Regex("(?:^|,)(\"(?:[^\"])*\"|[^,]*)", RegexOptions.Compiled); // Handling commas inside data fields surrounded by ""
private static List<int> conversationClosingIndent = new List<int>();
private static char[] separator = new char[1] { ',' };
private static char[] separator = new char[1] { '|' };
private const string conversationsPath = "Content/NPCConversations";
private const string infoTextPath = "Content/Texts";
@@ -151,7 +151,7 @@ namespace Barotrauma
for (int i = traitStart + NPCPersonalityTrait.List.Count; i < csvContent.Length; i++) // Conversations
{
string[] presplit = csvContent[i].Split(','); // Handling speaker index fetching, somehow doesn't work with the regex
string[] presplit = csvContent[i].Split(separator); // Handling speaker index fetching, somehow doesn't work with the regex
string[] split = SplitCSV(csvContent[i]);
int emptyFields = 0;
@@ -257,7 +257,7 @@ namespace Barotrauma
list.Add("");
}
list.Add(curr.TrimStart(','));
list.Add(curr.TrimStart(separator));
}
return list.ToArray();
@@ -107,24 +107,42 @@ namespace Barotrauma
text = text.Replace("\n", " \n ");
string[] words;
if (TextManager.NoWhiteSpace)
List<string> words = new List<string>();
string currWord = "";
for (int i = 0; i < text.Length; i++)
{
words = new string[text.Length];
for (int i = 0; i < text.Length; i++)
if (isCJK.IsMatch(text[i].ToString()))
{
words[i] = text[i].ToString();
if (currWord.Length > 0)
{
words.Add(currWord);
currWord = "";
}
words.Add(text[i].ToString());
}
else if (text[i] == ' ')
{
if (currWord.Length > 0)
{
words.Add(currWord);
currWord = "";
}
}
else
{
currWord += text[i];
}
}
else
if (currWord.Length > 0)
{
words = text.Split(' ');
words.Add(currWord);
currWord = "";
}
StringBuilder wrappedText = new StringBuilder();
float linePos = 0f;
Vector2 spaceSize = font.MeasureString(" ") * textScale;
for (int i = 0; i < words.Length; ++i)
for (int i = 0; i < words.Count; ++i)
{
if (words[i].Length == 0)
{