public static void All() { var assemblies = new[] { AssemblyDefinition.ReadAssembly(DocumentationRoot() + "/content/UnityEngine.dll"), AssemblyDefinition.ReadAssembly(DocumentationRoot() + "/content/UnityEditor.dll") }; var namespaces = new HashSet <string>(); EnsureDirectoryExists(ScriptApiOutputDirectory()); File.Copy(DocumentationRoot() + "/layout/docs.css", ScriptApiOutputDirectory() + "/docs.css", true); foreach (var t in assemblies.Select(a => a.MainModule).SelectMany(m => m.Types).Where(UnityDocumentation.IsDocumentedType)) { Console.WriteLine("t:" + t.FullName); namespaces.Add(t.Namespace); var output = ScriptApiOutputDirectory() + "/" + UnityDocumentation.HtmlNameFor(t); var stringWriter = new StringWriter(); new TypePageGenerator().GeneratePageFor(t, assemblies, stringWriter); File.WriteAllText(output, stringWriter.ToString()); } foreach (var namespaze in namespaces) { var result = new NamespacePageGenerator().GeneratePageFor(namespaze, assemblies); File.WriteAllText(ScriptApiOutputDirectory() + "/" + UnityDocumentation.HtmlNameFor(namespaze), result); } }
private object UrlFor(MemberReference memberReference) { var arrayType = memberReference as ArrayType; if (arrayType != null) { return(UrlFor(arrayType.GetElementType())); } if (memberReference is TypeDefinition) { return(UnityDocumentation.HtmlNameFor((TypeDefinition)memberReference)); } var declaringType = memberReference.DeclaringType; if (declaringType == null) { return("nourl"); } return(UrlFor(declaringType) + "#" + memberReference.Name); }
private string UrlForNamespace(string namespaze) { return(UnityDocumentation.HtmlNameFor(namespaze)); }