Skip to content
芒果糯米糍 edited this page May 6, 2023 · 2 revisions
  • 文件结构按照Unity类继承关系实现
  • 文件命名规则以及结构
    • 一个类文件夹下一个include.ts包含当前类文件以及该类子类文件夹的include
    • api.ts
      • 用作解析常用函数 (exp: ptr(Il2Cpp.Api.Application._Quit) )
      • 函数的命名使用 '_' + 具体的函数名,多参数使用后缀 '_x' 结尾i (exp: Il2Cpp.Api.Application._Quit_1)
      • api class 命名为 类名 + 'API' (exp: System_ValueType_API)
    • class.ts
      • NativePointer转换为Class的实现 (把ptr当成class来解析)
      • 包含一些(静态)字段,(静态)方法,以及方便调用的一些函数封装
      • this.handle 存贮当前 ptr,可以是 实例指针也可以是类指针 (多数情况使用实例指针)
      • 每一个class.ts都可以写上自己的toString方法以便于直接解析该类
    • export.ts
      • 主要用作拓展类的一些导出方法
  • TODO 按照这个文件结构可以拓展到整个UnityAPI (提供了 generateApi / generateClass / generateFieldEnum 方便的拓展类,生成的东西不太准,需要稍微修改点点), 后面在 dynamic.ts 又提供了反射来时间命令行直接补全的操作,不过因为使用前他会遍历所以导致很慢,所以暂时没用(或者说可以选择筛选部分常用的class来使用 具体用法
Clone this wiki locally