public override void EnqueueBuildSteps(BuildContext context, BuildStepsQueue queue)
        {
            string[] scenePaths = scenes.Select(AssetDatabase.GetAssetPath).ToArray();
            var      step       = new BakeLighting(scenePaths);

            queue.Enqueue(step);
        }
        public void Build(BuildContext context)
        {
            BuildStepsQueue queue = new BuildStepsQueue();

            foreach (BuildPipelineFeature feature in features)
            {
                feature.EnqueueBuildSteps(context, queue);
            }

            BuildStep step;

            while ((step = queue.Dequeue()) != null)
            {
                step.Execute(context);
            }
        }
        public override void EnqueueBuildSteps(BuildContext _, BuildStepsQueue queue)
        {
            if (string.IsNullOrWhiteSpace(outputDirectory))
            {
                throw new Exception("Output directory not set.");
            }
            if (scenes == null || scenes.Count == 0)
            {
                throw new Exception("No scenes to build.");
            }

            string[] scenePaths = scenes.Select(AssetDatabase.GetAssetPath).ToArray();

            var step = new BuildPlayer(scenePaths, outputDirectory);

            queue.Enqueue(step);
        }
 public abstract void EnqueueBuildSteps(BuildContext context, BuildStepsQueue queue);