protected virtual void UpdateBuildAssetResults(AnonymousAssetBuildUnit buildUnit, AssetCompilerResult compilationResult) { if (buildUnit.Succeeded) { // If successful, store the output objects so they can be mounted on a database when needed. OutputObjects = compilationResult.BuildSteps.OutputObjects; } }
protected override void UpdateBuildAssetResults(AnonymousAssetBuildUnit buildUnit, AssetCompilerResult compilationResult) { base.UpdateBuildAssetResults(buildUnit, compilationResult); // Save aside model url // TODO: we should technically store it in a temp var during Compile(), and set it only now (in case it changed during compile) compiledModelUrl = buildUnit.Succeeded ? AnimationPreviewViewModel.FindModelForPreview(AssetItem)?.Location : null; }
protected async Task <bool> BuildAsset() { // get the build step required by the preview builder AssetCompilerResult compilationResult = null; var buildUnit = new AnonymousAssetBuildUnit(new AssetBuildUnitIdentifier(previewContextId, Asset.Id), () => { compilationResult = Compile(); return(compilationResult.BuildSteps); }); buildUnit.PriorityMajor = DefaultAssetBuilderPriorities.PreviewPriority; Builder.AssetBuilderService.PushBuildUnit(buildUnit); await buildUnit.Wait(); UpdateBuildAssetResults(buildUnit, compilationResult); return(buildUnit.Succeeded); }