namespace AssetRipper.IO.Files { /// /// /// public enum BuildTarget : uint { ValidPlayer = 1, /// /// Build a universal macOS standalone /// StandaloneOSXUniversal = 2, /// /// Build a macOS standalone (PowerPC only) /// StandaloneOSXPPC = 3, /// /// Build a macOS standalone (Intel only) /// StandaloneOSXIntel = 4, /// /// Build a Windows standalone /// StandaloneWinPlayer = 5, /// /// Build a web player. /// WebPlayerLZMA = 6, /// /// Build a streamed web player /// WebPlayerLZMAStreamed = 7, Wii = 8, /// /// Build an iOS player /// iOS = 9, PS3 = 10, XBox360 = 11, Broadcom = 12, /// /// Build an Android .apk standalone app /// Android = 13, WinGLESEmu = 14, WinGLES20Emu = 15, /// /// Google Native Client /// GoogleNaCl = 16, /// /// Build a Linux standalone /// StandaloneLinux = 17, Flash = 18, /// /// Build a Windows 64-bit standalone /// StandaloneWin64Player = 19, /// /// WebGL /// WebGL = 20, /// /// Build an Windows Store Apps player /// MetroPlayerX86 = 21, /// /// Build an Windows Store Apps player /// MetroPlayerX64 = 22, /// /// Build an Windows Store Apps player /// MetroPlayerARM = 23, /// /// Build a Linux 64-bit standalone /// StandaloneLinux64 = 24, /// /// Build a Linux universal standalone /// StandaloneLinuxUniversal = 25, WP8Player = 26, /// /// Build a macOS Intel 64-bit standalone /// StandaloneOSXIntel64 = 27, /// /// BlackBerry /// BB10 = 28, /// /// Build a Tizen player /// Tizen = 29, /// /// Build a PS Vita Standalone /// PSP2 = 30, /// /// Build a PS4 Standalone /// PS4 = 31, PSM = 32, /// /// Build a Xbox One Standalone /// XboxOne = 33, /// /// Build to Samsung Smart TV platform /// SamsungTV = 34, /// /// Build to Nintendo 3DS platform /// N3DS = 35, /// /// Build a Wii U standalone /// WiiU = 36, /// /// Build to Apple's tvOS platform /// tvOS = 37, /// /// Build a Nintendo Switch player /// Switch = 38, Lumin = 39, Stadia = 40, CloudRendering = 41, GameCoreXboxSeries = 42, GameCoreXboxOne = 43, /// /// Build a PS5 Standalone /// PS5 = 44, EmbeddedLinux = 45, QNX = 46, /// /// Editor /// NoTarget = 0xFFFFFFFE, AnyPlayer = 0xFFFFFFFF, } public static class PlatformExtensions { public static bool IsCompatible(this BuildTarget _this, BuildTarget comp) { return _this == comp || (_this.IsStandalone() && comp.IsStandalone()); } public static bool IsStandalone(this BuildTarget _this) { switch (_this) { case BuildTarget.StandaloneWinPlayer: case BuildTarget.StandaloneWin64Player: case BuildTarget.StandaloneLinux: case BuildTarget.StandaloneLinux64: case BuildTarget.StandaloneLinuxUniversal: case BuildTarget.StandaloneOSXIntel: case BuildTarget.StandaloneOSXIntel64: case BuildTarget.StandaloneOSXPPC: case BuildTarget.StandaloneOSXUniversal: return true; } return false; } } }