Jeremy Pritts 3006d48010 Update source gen dll and code:
* Fix issues building recent commits
* AssetList.CopyTo(Span)
* Utf8String.IsEmpty
* Resolve #692
2023-06-11 20:03:43 -04:00

109 lines
3.4 KiB
C#

using AssetRipper.SourceGenerated.Enums;
using AssetRipper.SourceGenerated.Subclasses.TierGraphicsSettings;
using AssetRipper.SourceGenerated.Subclasses.TierGraphicsSettingsEditor;
using AssetRipper.SourceGenerated.Subclasses.TierSettings;
namespace AssetRipper.SourceGenerated.Extensions
{
public static class TierSettingsExtensions
{
public static void ConvertToEditorFormat(this ITierSettings settings, ITierGraphicsSettingsEditor tierGraphicsSettingsEditor, BuildTargetGroup buildTarget, GraphicsTier tier)
{
settings.Automatic = false;
settings.SetBuildTarget(buildTarget);
settings.Settings.CopyValues(tierGraphicsSettingsEditor);
settings.Tier = (int)tier;
}
public static void ConvertToEditorFormat(this ITierSettings settings, ITierGraphicsSettings tierGraphicsSettings, BuildTargetGroup buildTarget, GraphicsTier tier)
{
settings.Automatic = false;
settings.SetBuildTarget(buildTarget);
settings.Settings.ConvertToEditorFormat(tierGraphicsSettings);
settings.Tier = (int)tier;
}
public static BuildTargetGroup GetBuildTargetAsEnum(this ITierSettings settings)
{
if (settings.Has_BuildTarget_Utf8String())
{
return StringToBuildGroup(settings.BuildTarget_Utf8String.String);
}
else
{
return (BuildTargetGroup)settings.BuildTarget_Int32;
}
}
public static string GetBuildTargetAsString(this ITierSettings settings)
{
if (settings.Has_BuildTarget_Utf8String())
{
return settings.BuildTarget_Utf8String.String;
}
else
{
return BuildGroupToString((BuildTargetGroup)settings.BuildTarget_Int32);
}
}
public static void SetBuildTarget(this ITierSettings settings, BuildTargetGroup buildTarget)
{
if (settings.Has_BuildTarget_Utf8String())
{
settings.BuildTarget_Utf8String = BuildGroupToString(buildTarget);
}
else
{
settings.BuildTarget_Int32 = (int)buildTarget;
}
}
private static BuildTargetGroup StringToBuildGroup(string group)
{
return group switch
{
"Standalone" => BuildTargetGroup.Standalone,
"Web" => BuildTargetGroup.WebPlayer,
"iPhone" => BuildTargetGroup.iPhone,
"Android" => BuildTargetGroup.Android,
"WebGL" => BuildTargetGroup.WebGL,
"Windows Store Apps" => BuildTargetGroup.WSA,
"Tizen" => BuildTargetGroup.Tizen,
"PSP2" => BuildTargetGroup.PSP2,
"PS4" => BuildTargetGroup.PS4,
"PSM" => BuildTargetGroup.PSM,
"XboxOne" => BuildTargetGroup.XboxOne,
"Samsung TV" => BuildTargetGroup.SamsungTV,
"Nintendo 3DS" => BuildTargetGroup.N3DS,
"WiiU" => BuildTargetGroup.WiiU,
"tvOS" => BuildTargetGroup.tvOS,
_ => BuildTargetGroup.Standalone,
};
}
private static string BuildGroupToString(BuildTargetGroup group)
{
return group switch
{
BuildTargetGroup.Standalone => "Standalone",
BuildTargetGroup.WebPlayer => "Web",
BuildTargetGroup.iPhone => "iPhone",
BuildTargetGroup.Android => "Android",
BuildTargetGroup.WebGL => "WebGL",
BuildTargetGroup.WSA => "Windows Store Apps",
BuildTargetGroup.Tizen => "Tizen",
BuildTargetGroup.PSP2 => "PSP2",
BuildTargetGroup.PS4 => "PS4",
BuildTargetGroup.PSM => "PSM",
BuildTargetGroup.XboxOne => "XboxOne",
BuildTargetGroup.SamsungTV => "Samsung TV",
BuildTargetGroup.N3DS => "Nintendo 3DS",
BuildTargetGroup.WiiU => "WiiU",
BuildTargetGroup.tvOS => "tvOS",
_ => "Standalone",
};
}
}
}