2023-01-14 11:31:39 -05:00

53 lines
1.7 KiB
C#

using AssetRipper.SourceGenerated.Enums;
namespace AssetRipper.SourceGenerated.Extensions
{
public static class ExternalVersionControlExtensions
{
private const string HiddenMeta = "Hidden Meta Files";
private const string VisibleMeta = "Visible Meta Files";
public static string ConvertToString(this ExternalVersionControl support)
{
return support switch
{
ExternalVersionControl.AutoDetect => "Auto detect",
ExternalVersionControl.Disabled => HiddenMeta,
ExternalVersionControl.Generic or ExternalVersionControl.AssetServer => VisibleMeta,
ExternalVersionControl.Subversion => "Subversion",
ExternalVersionControl.Perforce => "Perforce",
_ => HiddenMeta,
};
}
public static string ToStringExact(this ExternalVersionControl support)
{
return support switch
{
ExternalVersionControl.AutoDetect => "Auto detect",
ExternalVersionControl.Disabled => "Disabled",
ExternalVersionControl.Generic => VisibleMeta,
ExternalVersionControl.AssetServer => "Asset Server",
ExternalVersionControl.Subversion => "Subversion",
ExternalVersionControl.Perforce => "Perforce",
_ => HiddenMeta,
};
}
public static ExternalVersionControl FromStringExact(string str)
{
return str switch
{
"Auto detect" => ExternalVersionControl.AutoDetect,
"Disabled" => ExternalVersionControl.Disabled,
"Asset Server" => ExternalVersionControl.AssetServer,
"Subversion" => ExternalVersionControl.Subversion,
"Perforce" => ExternalVersionControl.Perforce,
VisibleMeta => ExternalVersionControl.Generic,
HiddenMeta => ExternalVersionControl.Disabled,
_ => ExternalVersionControl.Disabled,
};
}
}
}