Exemplo n.º 1
0
        public static void Build()
        {
            PlayerSettings.SplashScreen.showUnityLogo = false;
            // LevelSetAddressablePreBuildProcessor.PreExport();

            var scenes      = EditorBuildSettings.scenes.Where(s => s.enabled).Select(s => s.path).ToArray();
            var args        = Environment.GetCommandLineArgs();
            var buildTarget = BuildTarget.NoTarget;
            var outputPath  = "";

            for (var i = 0; i < args.Length; i++)
            {
                if (args[i] == "-buildTarget")
                {
                    switch (args[i + 1])
                    {
                    case "Android":
                        buildTarget = BuildTarget.Android;
                        break;

                    case "iOS":
                        buildTarget = BuildTarget.iOS;
                        break;

                    case "Mac":
                        buildTarget = BuildTarget.StandaloneOSX;
                        break;

                    case "Windows":
                        buildTarget = BuildTarget.StandaloneWindows;
                        break;

                    case "WebGL":
                        buildTarget = BuildTarget.WebGL;
                        break;

                    default:
                        Debug.LogError($"{args[i + 1]} is not supported.");
                        EditorApplication.Exit(1);
                        break;
                    }
                }
                if (args[i] == "-outputPath")
                {
                    outputPath = args[i + 1];
                }
            }
            BuildPipeline.BuildPlayer(scenes, outputPath, buildTarget, BuildOptions.None);
            Debug.Log("Build Completed!");
            Debug.Log($"Output Path: {outputPath}");
            DirectoryTree.PrintDirectoryTree(outputPath);
        }