AssetBundleGraph.BuildTargetUtility.IsBuildTargetSupported C# (CSharp) Method

IsBuildTargetSupported() public static method

public static IsBuildTargetSupported ( BuildTarget t ) : bool
t BuildTarget
return bool
        public static bool IsBuildTargetSupported(BuildTarget t)
        {
            //[WrapperlessIcall]
            //[MethodImpl (MethodImplOptions.InternalCall)]
            //internal static extern bool IsBuildTargetSupported (BuildTarget target);

            var objType = Types.GetType ("UnityEditor.BuildPipeline", "UnityEditor.dll");
            var method =  objType.GetMethod("IsBuildTargetSupported", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static);

            var retval = method.Invoke(null, new object[]{System.Enum.ToObject(typeof(BuildTarget), t)});

            return Convert.ToBoolean(retval);
        }

Usage Example

            public void SetupSupportedBuildTargets()
            {
                if (supportedBuildTargets == null)
                {
                    supportedBuildTargets      = new List <BuildTarget>();
                    supportedBuildTargetGroups = new List <BuildTargetGroup>();

                    try {
                        foreach (BuildTarget target in Enum.GetValues(typeof(BuildTarget)))
                        {
                            if (BuildTargetUtility.IsBuildTargetSupported(target))
                            {
                                if (!supportedBuildTargets.Contains(target))
                                {
                                    supportedBuildTargets.Add(target);
                                }
                                BuildTargetGroup g = BuildTargetUtility.TargetToGroup(target);
                                if (g == BuildTargetGroup.Unknown)
                                {
                                    // skip unknown platform
                                    continue;
                                }
                                if (!supportedBuildTargetGroups.Contains(g))
                                {
                                    supportedBuildTargetGroups.Add(g);
                                }
                            }
                        }

                        supportedBuildTargetNames = new string[supportedBuildTargets.Count];
                        for (int i = 0; i < supportedBuildTargets.Count; ++i)
                        {
                            supportedBuildTargetNames[i] = BuildTargetUtility.TargetToHumaneString(supportedBuildTargets[i]);
                        }
                    } catch (Exception e) {
                        Debug.LogError(e.ToString());
                    }
                }
            }
All Usage Examples Of AssetBundleGraph.BuildTargetUtility::IsBuildTargetSupported