• 大小: 5.80M
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2025-01-20
  • 语言: JavaScript
  • 标签: vue  

资源简介


资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Text.Json;
using System.Text.Json.Serialization;

namespace RimTrans.Reflection {
  class DistinctAttributeComparer : IEqualityComparer {
    public bool Equals(Attribute x Attribute y) {
      return x.GetType() == y.GetType();
    }

    public int GetHashCode(Attribute obj) {
      return obj.GetHashCode();
    }
  }

  /// 
  /// The crawler for assemblies of RimWorld game or mods.
  /// 

  public static class Crawler {
    /// 
    /// Gets type packages from assemblies.
    /// 

    /// The intput/output paths map input is the path to a assembly output is the path to output type package
    public static void Crawl(Dictionary mapInputOutput) {
      var mapAsmOutput = new Dictionary();
      foreach (var (input output) in mapInputOutput) {
        if (input.ToLower() == “core“) {
          mapAsmOutput.Add(Assemblymeta.assemblyCore output);
        } else {
          var asm = Assembly.LoadFrom(input);
          mapAsmOutput.Add(asm output);
        }
      }

      foreach (var (asm output) in mapAsmOutput) {
        var asmmeta = new Assemblymeta(asm);
        var jsonText = Serialize(asmmeta);
        File.WriteAllText(output jsonText);
      }
    }

    public static string Serialize(Assemblymeta assmeblymeta) {
      var options = new JsonSerializerOptions();
      options.Converters.Add(new JsonStringEnumConverter());

      options.WriteIndented = true;
      
      var jsonText = JsonSerializer.Serialize(assmeblymeta options);
      return jsonText;
    }
  }

  /// 
  /// The meta info of the assembly. Includes enums classes and defs.
  /// 

  public class Assemblymeta {
    public static readonly Assembly assemblyCore = typeof(Verse.Def).Assembly;

    /// 
    /// The name of the assembly.
    /// 

    public string name { get; set; }

    /// 
    /// All enum types.
    /// 

    public SortedDictionaryta> enums { get; set; }

    /// 
    /// All class types.
    /// 

    public SortedDictionaryta> classes { get; set; }

    /// 
    /// The map for defs name to full name.
    /// 

    public SortedDictionary defs { get; set; }

    public Assemblymeta(Assembly assembly) {
      name = assembly.FullName;
      enums = new SortedDictionaryta>();
      classes = new SortedDictionaryta>();
      defs = new SortedDictionary();

      foreach (var type in assembly.GetTypes()) {
        var typemeta = new Typemeta(type);
        if (typemeta.category == TypeCategory.Enum) {
          var enummeta = new Enummeta(type);
          enums.Add(enummeta.name enummeta);
        }
        

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2020-01-19 14:25  RimTrans\
     文件        6397  2020-01-19 14:25  RimTrans\.editorconfig
     文件          16  2020-01-19 14:25  RimTrans\.eslintignore
     文件         701  2020-01-19 14:25  RimTrans\.eslintrc.js
     文件        2518  2020-01-19 14:25  RimTrans\.gitattributes
     文件        4270  2020-01-19 14:25  RimTrans\.gitignore
     文件          55  2020-01-19 14:25  RimTrans\.prettierignore
     文件         410  2020-01-19 14:25  RimTrans\.prettierrc
     文件        1245  2020-01-19 14:25  RimTrans\.stylelintrc
     目录           0  2020-01-19 14:25  RimTrans\.vscode\
     文件          50  2020-01-19 14:25  RimTrans\.vscode\settings.json
     文件        3355  2020-01-19 14:25  RimTrans\CODE_OF_CONDUCT.md
     目录           0  2020-01-19 14:25  RimTrans\Core\
     目录           0  2020-01-19 14:25  RimTrans\Core\About\
     文件         227  2020-01-19 14:25  RimTrans\Core\About\About.xml
     文件       16986  2020-01-19 14:25  RimTrans\Core\About\Preview.png
     目录           0  2020-01-19 14:25  RimTrans\Core\Defs\
     目录           0  2020-01-19 14:25  RimTrans\Core\Defs\BiomeDefs\
     文件       17775  2020-01-19 14:25  RimTrans\Core\Defs\BiomeDefs\Biomes_Cold.xml
     文件        8778  2020-01-19 14:25  RimTrans\Core\Defs\BiomeDefs\Biomes_Temperate.xml
     文件        8805  2020-01-19 14:25  RimTrans\Core\Defs\BiomeDefs\Biomes_Warm.xml
     文件        9759  2020-01-19 14:25  RimTrans\Core\Defs\BiomeDefs\Biomes_WarmArid.xml
     文件         925  2020-01-19 14:25  RimTrans\Core\Defs\BiomeDefs\Biomes_Water.xml
     目录           0  2020-01-19 14:25  RimTrans\Core\Defs\Bodies\
     文件        3766  2020-01-19 14:25  RimTrans\Core\Defs\Bodies\Bodies_Animal_Bird.xml
     文件        7249  2020-01-19 14:25  RimTrans\Core\Defs\Bodies\Bodies_Animal_Insect.xml
     文件       53561  2020-01-19 14:25  RimTrans\Core\Defs\Bodies\Bodies_Animal_Quadruped.xml
     文件        2493  2020-01-19 14:25  RimTrans\Core\Defs\Bodies\Bodies_Animal_Snake.xml
     文件       17673  2020-01-19 14:25  RimTrans\Core\Defs\Bodies\Bodies_Humanlike.xml
     文件       16999  2020-01-19 14:25  RimTrans\Core\Defs\Bodies\Bodies_Mechanoid.xml
     文件        3936  2020-01-19 14:25  RimTrans\Core\Defs\Bodies\BodyPartGroups.xml
............此处省略1705个文件信息

评论

共有 条评论