[中文简体] | [English]
- 如果你对本项目感兴趣, 请点击
star支持. - 如果你有任何想法或疑问, 请提交[PR]和[ISSUES]反馈.
- 请悉知: 当前项目中的
TsComponent丶ThreadWorker模块尚未经广泛验证, 其功能或许存在缺陷, 如果你在使用中遇到任何问题请及时通过[ISSUES]反馈.
- 本项目是基于puerts开发的Unity模板项目, 默认使用OpenUPM作为Unity包管理器源;
- 本项目使用typescript脚本开发, 运行时支持
commonjs和ESM模块(匹配规则请查看MixerLoader.Mode);- 本项目支持webgl构建(
ESM), 使用webgl构建请务必先翻阅源仓库中《如何从原有的PuerTS项目中迁移过来?》一文;- 集成常用配置或工具(可选), 如ScriptPacker(
脚本打包/压缩/加密/验签)丶source-map-support丶javascript-obfuscator等;了解更多, 请查看[文档页面].
[2023/02/13]需注意webgl-support在OpenUMP中的最新版本1.0.0-rc.1不支持自动附加后缀名匹配, 需等待后续更新
主要功能:
-
TsBehaviour:
在ts脚本中使用Unity MonoBehaviour生命周期方法;
[查看文档] -
TsProperties:
一个单独的序列化类, 可用于保存数据丶挂载UnityEngine.Object对象等操作;
[查看文档] -
TsComponent:
对TsBehaviour和TsProperties的结合实现, 可序列化ts脚本中的成员变量和使用Unity生命周期方法, 并实现对ts对象的生命周期管理;
允许UGUI事件绑定到ts脚本上(UGUI事件);
[查看文档] -
ThreadWorker:
提供
跨线程&跨Puerts.JsEnv实例交互(基于C#类型传递数据);
[查看文档]
| 软件或包 | 版本 |
|---|---|
| unity | 2019.2.x + |
| puerts | 1.4.0 + |
| nodejs | unknown |
| OpenUPM | 版本 |
|---|---|
| puerts | 2.0.2 |
| puerts-webgl-support | 2.0.2 |
| puerts-commonjs-support | 2.0.1 |
- 下载本模板项目;
- 进入目录
projects/TsProject, 执行npm install或yarn命令安装依赖; - 执行
tsc命令编译typescript项目; - 完成.
- ConsoleRedirect:
实现从Unity Console单击/双击超链接直接跳转ts脚本
- HotReload:
纯C#实现的js脚本热更新工具(需要
v8 + inspect支持), 用于运行时即时修改js逻辑快速调试. - MiniLinkXml:
分析typescript工程, 获取所有使用的C#类型的(支持额外的自定义类型), 生成最小化
link.xml配置文件. - ECMAScript:
C#命名空间生成工具, 可
快速导入值和类型(例:import { GameObject} from 'csharp.UnityEngine'). 使工程同时兼容commonjs和esm模块从而无需额外修改代码.
- 无