mirror of
https://github.com/AssetRipper/AssetRipper.git
synced 2025-12-11 20:15:29 +01:00
108 lines
3.3 KiB
C#
108 lines
3.3 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",
|
|
};
|
|
}
|
|
}
|