2022-07-15 11:02:17 -04:00

61 lines
1.8 KiB
C#

namespace AssetRipper.Core.Classes.EditorSettings
{
public enum ExternalVersionControl
{
AutoDetect = -1,
Disabled = 0,
Generic = 1,
Subversion = 2,
Perforce = 3,
AssetServer = 4,
}
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,
};
}
}
}