private bool CompileResource(PhactoryHost.Database.Resource resource) { if (App.Controller.UserConfig.VerboseOutput == false) { if (resource.IdOutputs.Count == 1) { PhactoryHost.Database.Resource outputResource = App.Controller.Entities.GetResource(resource.IdOutputs[0]); if (outputResource.Id != App.Controller.Entities.StartupResourceId) { if (App.Controller.PluginManager.Host.IsResourceReferencedByOtherResources(outputResource).Count == 0) { // simply skip compilation return(true); } } } } string filename = resource.RelativePath; string extension = Helper.StringHelper.GetFileExtension(filename); PhactoryHost.CompilerPlugin compiler = App.Controller.PluginManager.GetCompiler(extension); if (compiler == null) { if (App.Controller.UserConfig.VerboseOutput) { App.Controller.Log.Append(resource.DisplayName + " (skipped)"); } return(true); } bool showInLog = true; string typeInfo = ""; if (resource.IsIncludeResource) { typeInfo += " (include resource)"; showInLog = App.Controller.UserConfig.VerboseOutput; } if (resource.IsOutputResource) { typeInfo += " (output resource)"; showInLog = App.Controller.UserConfig.VerboseOutput; } if (showInLog) { App.Controller.Log.Append(resource.DisplayName + typeInfo); } App.Controller.View.AppDoEvents(); return(compiler.Compile(resource)); }