public string GetBuildTargetDisplayName(BuildTargetGroup buildTargetGroup, BuildTarget target, int subtarget) { if (buildTargetGroup == BuildTargetGroup.Standalone && subtarget == (int)StandaloneBuildSubtarget.Server) { return(GetBuildTargetDisplayName(NamedBuildTarget.Server, target)); } return(GetBuildTargetDisplayName(NamedBuildTarget.FromBuildTargetGroup(buildTargetGroup), target)); }
internal BuildPlatforms() { List <BuildPlatform> buildPlatformsList = new List <BuildPlatform>(); DiscoveredTargetInfo[] buildTargets = BuildTargetDiscovery.GetBuildTargetInfoList(); // Standalone needs to be first // Before we had BuildTarget.StandaloneWindows for BuildPlatform.defaultTarget // But that doesn't make a lot of sense, as editor use it in places, so it should agree with editor platform // TODO: should we poke module manager for target support? i think we can assume support for standalone for editor platform // TODO: even then - picking windows standalone unconditionally wasn't much better BuildTarget standaloneTarget = BuildTarget.StandaloneWindows; if (Application.platform == RuntimePlatform.OSXEditor) { standaloneTarget = BuildTarget.StandaloneOSX; } else if (Application.platform == RuntimePlatform.LinuxEditor) { standaloneTarget = BuildTarget.StandaloneLinux64; } buildPlatformsList.Add(new BuildPlatformWithSubtarget(BuildPipeline.GetBuildTargetGroupDisplayName(BuildTargetGroup.Standalone), "", "BuildSettings.Standalone", NamedBuildTarget.Standalone, standaloneTarget, (int)StandaloneBuildSubtarget.Player, true)); buildPlatformsList.Add(new BuildPlatformWithSubtarget("Dedicated Server", "", "BuildSettings.DedicatedServer", NamedBuildTarget.Server, standaloneTarget, (int)StandaloneBuildSubtarget.Server, true)); foreach (var target in buildTargets) { if (!target.HasFlag(TargetAttributes.IsStandalonePlatform)) { NamedBuildTarget namedBuildTarget = NamedBuildTarget.FromBuildTargetGroup(BuildPipeline.GetBuildTargetGroup(target.buildTargetPlatformVal)); buildPlatformsList.Add(new BuildPlatform( BuildPipeline.GetBuildTargetGroupDisplayName(namedBuildTarget.ToBuildTargetGroup()), target.iconName, namedBuildTarget, target.buildTargetPlatformVal, target.HasFlag(TargetAttributes.HideInUI))); } } foreach (var buildPlatform in buildPlatformsList) { buildPlatform.tooltip = buildPlatform.title.text + " settings"; } buildPlatforms = buildPlatformsList.ToArray(); }