Files
beyond/Assets/Plugins/Pixel Crushers/Dialogue System/Scripts/Importers/Articy/ArticySchemaTools.cs
2024-11-20 15:21:28 +01:00

68 lines
2.5 KiB
C#

#if USE_ARTICY
// Copyright (c) Pixel Crushers. All rights reserved.
using System.Text;
namespace PixelCrushers.DialogueSystem.Articy
{
/// <summary>
/// This static utility class loads an arbitrary articy XML as a schema-independent
/// ArticyData object, regardless of what version of articy generated the XML file.
/// </summary>
public static class ArticySchemaTools
{
public static ArticyData LoadArticyDataFromXmlData(string xmlData, Encoding encoding, bool convertDropdownAsString = false)
{
if (Articy_3_1.Articy_3_1_Tools.IsSchema(xmlData))
{
return Articy_3_1.Articy_3_1_Tools.LoadArticyDataFromXmlData(xmlData, encoding, convertDropdownAsString);
}
else if (Articy_2_4.Articy_2_4_Tools.IsSchema(xmlData))
{
return Articy_2_4.Articy_2_4_Tools.LoadArticyDataFromXmlData(xmlData, encoding, convertDropdownAsString);
}
else if (Articy_2_2.Articy_2_2_Tools.IsSchema(xmlData))
{
return Articy_2_2.Articy_2_2_Tools.LoadArticyDataFromXmlData(xmlData, encoding);
}
else if (Articy_1_4.Articy_1_4_Tools.IsSchema(xmlData))
{
return Articy_1_4.Articy_1_4_Tools.LoadArticyDataFromXmlData(xmlData, encoding);
}
else
{
return null;
}
}
public static ArticyData LoadArticyDataFromXmlData(string xmlData, ConverterPrefs prefs)
{
if (Articy_3_1.Articy_3_1_Tools.IsSchema(xmlData))
{
return Articy_3_1.Articy_3_1_Tools.LoadArticyDataFromXmlData(xmlData, prefs.Encoding, prefs.ConvertDropdownsAsString, prefs);
}
else if (Articy_2_4.Articy_2_4_Tools.IsSchema(xmlData))
{
return Articy_2_4.Articy_2_4_Tools.LoadArticyDataFromXmlData(xmlData, prefs.Encoding, prefs.ConvertDropdownsAsString, prefs);
}
else if (Articy_2_2.Articy_2_2_Tools.IsSchema(xmlData))
{
return Articy_2_2.Articy_2_2_Tools.LoadArticyDataFromXmlData(xmlData, prefs.Encoding);
}
else if (Articy_1_4.Articy_1_4_Tools.IsSchema(xmlData))
{
return Articy_1_4.Articy_1_4_Tools.LoadArticyDataFromXmlData(xmlData, prefs.Encoding);
}
else
{
return null;
}
}
}
}
#endif