Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
 private string UrlForNamespace(string namespaze)
 {
     return(UnityDocumentation.HtmlNameFor(namespaze));
 }