using AssetRipper.IO.Files; namespace AssetRipper.SourceGenerated.Extensions { public enum BuildTargetGroup { /// /// Unknown target. /// Unknown = 0, /// /// Mac/PC standalone target. /// Standalone = 1, /// /// Mac/PC webplayer target. /// WebPlayer = 2, Wii = 3, /// /// Apple iOS target. /// iPhone = 4, /// /// Apple iOS target. /// iOS = 4, PS3 = 5, XBOX360 = 6, /// /// Android target. /// Android = 7, GLESEmu = 9, /// /// Google Native Client /// NaCl = 11, FlashPlayer = 12, /// /// WebGL. /// WebGL = 13, /// /// Windows Store Apps target. /// WSA = 14, Metro = 14, WP8 = 15, BlackBerry = 16, /// /// Samsung Tizen target. /// Tizen = 17, /// /// Sony PS Vita target. /// PSP2 = 18, /// /// Sony Playstation 4 target. /// PS4 = 19, PSM = 20, /// /// Microsoft Xbox One target. /// XboxOne = 21, SamsungTV = 22, /// /// Nintendo 3DS target. /// N3DS = 23, /// /// Nintendo Wii U target. /// WiiU = 24, /// /// Apple's tvOS target. /// tvOS = 25, /// /// Facebook target. /// Facebook = 26, /// /// Nintendo Switch target. /// Switch = 27, } public static class BuildTargetGroupExtensions { public static BuildTargetGroup PlatformToBuildGroup(this BuildTarget _this) { switch (_this) { case BuildTarget.StandaloneOSXUniversal: case BuildTarget.StandaloneOSXPPC: case BuildTarget.StandaloneOSXIntel: case BuildTarget.StandaloneWinPlayer: case BuildTarget.StandaloneLinux: case BuildTarget.StandaloneWin64Player: case BuildTarget.StandaloneLinux64: case BuildTarget.StandaloneLinuxUniversal: case BuildTarget.StandaloneOSXIntel64: return BuildTargetGroup.Standalone; case BuildTarget.WebPlayerLZMA: case BuildTarget.WebPlayerLZMAStreamed: return BuildTargetGroup.WebPlayer; case BuildTarget.Wii: return BuildTargetGroup.Wii; case BuildTarget.iOS: return BuildTargetGroup.iOS; case BuildTarget.PS3: return BuildTargetGroup.PS3; case BuildTarget.XBox360: return BuildTargetGroup.XBOX360; case BuildTarget.Android: return BuildTargetGroup.Android; case BuildTarget.WinGLESEmu: case BuildTarget.WinGLES20Emu: return BuildTargetGroup.GLESEmu; case BuildTarget.GoogleNaCl: return BuildTargetGroup.NaCl; case BuildTarget.Flash: return BuildTargetGroup.FlashPlayer; case BuildTarget.WebGL: return BuildTargetGroup.WebGL; case BuildTarget.MetroPlayerX86: case BuildTarget.MetroPlayerX64: case BuildTarget.MetroPlayerARM: return BuildTargetGroup.WSA; case BuildTarget.WP8Player: return BuildTargetGroup.WP8; case BuildTarget.BB10: return BuildTargetGroup.BlackBerry; case BuildTarget.Tizen: return BuildTargetGroup.Tizen; case BuildTarget.PSP2: return BuildTargetGroup.PSP2; case BuildTarget.PS4: return BuildTargetGroup.PS4; case BuildTarget.PSM: return BuildTargetGroup.PSM; case BuildTarget.XboxOne: return BuildTargetGroup.XboxOne; case BuildTarget.SamsungTV: return BuildTargetGroup.SamsungTV; case BuildTarget.N3DS: return BuildTargetGroup.N3DS; case BuildTarget.WiiU: return BuildTargetGroup.WiiU; case BuildTarget.tvOS: return BuildTargetGroup.tvOS; case BuildTarget.Switch: return BuildTargetGroup.Switch; default: throw new NotSupportedException($"Platform {_this} is not supported."); } } public static string ToExportString(this BuildTargetGroup _this) { return _this switch { BuildTargetGroup.Unknown => "Unknown", BuildTargetGroup.Standalone => "Standalone", BuildTargetGroup.WebPlayer => "WebPlayer", BuildTargetGroup.Wii => "Wii", BuildTargetGroup.iOS => "iPhone", BuildTargetGroup.PS3 => "PS3", BuildTargetGroup.XBOX360 => "XBOX360", BuildTargetGroup.Android => "Android", BuildTargetGroup.GLESEmu => "GLESEmu", BuildTargetGroup.NaCl => "NaCl", BuildTargetGroup.FlashPlayer => "FlashPlayer", BuildTargetGroup.WebGL => "WebGL", BuildTargetGroup.Metro => "Windows Store Apps", BuildTargetGroup.WP8 => "WP8", BuildTargetGroup.BlackBerry => "BlackBerry", BuildTargetGroup.Tizen => "Tizen", BuildTargetGroup.PSP2 => "PSP2", BuildTargetGroup.PS4 => "PS4", BuildTargetGroup.PSM => "PSM", BuildTargetGroup.XboxOne => "XboxOne", BuildTargetGroup.SamsungTV => "SamsungTV", BuildTargetGroup.N3DS => "Nintendo 3DS", BuildTargetGroup.WiiU => "WiiU", BuildTargetGroup.tvOS => "tvOS", BuildTargetGroup.Facebook => "Facebook", BuildTargetGroup.Switch => "Nintendo Switch", _ => throw new NotSupportedException($"Value: {_this}"), }; } } }