private static void WriteContentToTarget(CompileContext context) { StringBuilder contentTocBuilder = new StringBuilder(); contentTocBuilder.AppendLine("## Interface: 60200"); contentTocBuilder.AppendLine("## Title: Built"); contentTocBuilder.AppendLine("## Notes: Built"); contentTocBuilder.AppendLine("## Author: AddonCompiler"); contentTocBuilder.AppendLine("## Version: 6.0.001"); int filesCopied = 0; int resourcesCopied = 0; foreach (CompileContent content in context.FullContentList) { CarbonFile targetRelativeFile = new CarbonDirectory(content.Addon.Name).ToFile(content.RelativeFile); CarbonFile targetAbsoluteFile = context.Target.ToFile(targetRelativeFile); if (content.AbsoluteFile.Extension == Constants.ExtensionXml) { if (!WriteXmlContentToTarget(content.AbsoluteFile, targetAbsoluteFile)) { continue; } filesCopied++; } else { if (!WriteScriptContentToTarget(content, targetAbsoluteFile)) { continue; } filesCopied++; } // Register the content in the TOC contentTocBuilder.AppendLine(targetRelativeFile.GetPath()); } foreach (AddonEntry addon in context.EntriesOrderedByPriority) { foreach (CarbonFile resource in addon.Resources) { CarbonFile targetAbsoluteResourceFile = context.Target.ToDirectory(addon.Name).ToFile(resource); CarbonFile sourceAbsoluteResourceFile = addon.RootDirectory.ToFile(resource); sourceAbsoluteResourceFile.CopyTo(targetAbsoluteResourceFile, true); resourcesCopied++; } } CarbonFile builtTocFile = context.Target.ToFile("Built.toc"); builtTocFile.WriteAsString(contentTocBuilder.ToString()); Diagnostic.Info("Finished Compile with {0} content files and {1} resources", filesCopied, resourcesCopied); }