43 lines
1.2 KiB
C#
43 lines
1.2 KiB
C#
namespace SM64Lib.Text.Exporters;
|
|
|
|
public class TxtExporter
|
|
{
|
|
public async Task Export(string destFilePath, TextGroup[] groups)
|
|
{
|
|
var sw = new StreamWriter(destFilePath);
|
|
|
|
for (int itg = 0; itg < groups.Length; itg++)
|
|
{
|
|
var tg = groups[itg];
|
|
|
|
if (itg != 0)
|
|
{
|
|
await sw.WriteLineAsync("------------------------------\n");
|
|
await sw.WriteLineAsync($"Text Group - {tg.TextGroupInfo.Name}\n");
|
|
await sw.WriteLineAsync("------------------------------\n");
|
|
}
|
|
|
|
for (int iti = 0; iti < tg.Count; iti++)
|
|
{
|
|
var ti = tg[iti];
|
|
|
|
if (ti is TextTableDialogItem)
|
|
{
|
|
await sw.WriteLineAsync($"Dialog #{iti}\n");
|
|
await sw.WriteLineAsync(ti.Text);
|
|
await sw.WriteLineAsync("\n\n");
|
|
}
|
|
else
|
|
{
|
|
await sw.WriteLineAsync($"Text Item #{iti}");
|
|
await sw.WriteLineAsync(ti.Text);
|
|
await sw.WriteLineAsync();
|
|
}
|
|
}
|
|
}
|
|
|
|
await sw.FlushAsync();
|
|
sw.Close();
|
|
}
|
|
}
|