public string[] DialogueProcessor(string[] ssDialogues)
{
if (type == 5)
{
return ssDialogues;
}
List<string> lDialogues = new List<string>();
List<string> lSimpChiSubs = new List<string>();
List<string> lEngSubs = new List<string>();
Regex rx = new Regex(@"[^\{^\}]+");
Regex exEngOrChi = new Regex(@"[\u4e00-\u9fa5]");
foreach (string s in ssDialogues)
{
string strDiag = "";
lSimpChiSubs.Clear();
lEngSubs.Clear();
MatchCollection MC = rx.Matches(s);
foreach (Match M in MC)
{
if (M.ToString() == "" || M.ToString()[0] == '\\')
{
continue;
}
else
{
//if (M.ToString().Contains("Dialogue:"))
//{
// string[] tss = SplitString(M.ToString(), ",,");
// if (tss[tss.Length - 1] != "")
// {
// strDiag += tss[tss.Length - 1];
// }
//}
//else
//{
// strDiag += M.ToString();
//}
if (DoubleOrSingle)
{
//M.ToString()ing[] ss = SplitM.ToString()ing(M.ToString()Diag, "\\N");
//foreach (M.ToString()ing M.ToString() in ss)
//{
if (M.ToString() != "")
{
if (exEngOrChi.IsMatch(M.ToString()))
{
lSimpChiSubs.Add(M.ToString());
}
else
{
if (!M.ToString().Contains("Dialogue:") && !M.ToString().Contains("YYeTs"))
{
lEngSubs.Add(M.ToString());
}
}
//}
}
}
else
{
if (M.ToString() != "")
{
lSimpChiSubs.Add(M.ToString());
}
}
}
}
switch (type)
{
case 6:
{
strDiag = CvrtSubToTradChi(s, lSimpChiSubs);
if (strDiag != "")
{
lDialogues.Add(strDiag);
}
break;
}
case 7:
{
strDiag = DeleteEngSub(s, lEngSubs);
if (strDiag != "")
{
lDialogues.Add(strDiag);
}
break;
}
case 8:
{
strDiag = CvrtSubToTradChi(s, lSimpChiSubs);
strDiag = DeleteEngSub(strDiag, lEngSubs);
if (strDiag != "")
{
lDialogues.Add(strDiag);
}
break;
}
}
}
return lDialogues.ToArray();
}