Go to file
SepComet 1a45b513f2 Checkpoint 8
1. 统一调度收口为单点 Complete
2. 移除 Job 内部 Complete(),改为返回 JobHandle
3. 修复调度后 NativeList 安全冲突(关键)
  - 将 PrepareEnemyJobOutputBuffer/PrepareProjectileJobOutputBuffer/PrepareEnemySeparationJobBuffers 前置到 BuildInput
  - 互斥候选统计改为读取 _enemyJobInputs,不再在 Complete 前读取 _enemyJobOutputs
4. 新增 CP8 profiler markers
5. 新增回归用例(验证使用最新敌人移动结果构建碰撞候选)
2026-02-23 10:53:15 +08:00
.codex/skills Checkpoint 7 2026-02-23 10:29:47 +08:00
.dotnet/.dotnet Checkpoint 7 2026-02-23 10:29:47 +08:00
.vscode 功能:添加启动器场景并更新项目设置 2026-02-13 21:49:59 +08:00
Assets Checkpoint 8 2026-02-23 10:53:15 +08:00
Packages Checkpoint 1:依赖锁定与运行开关落地 2026-02-22 10:12:26 +08:00
ProjectSettings - Checkpoint 1:清理 `TickEnemies` 侧 GC 2026-02-21 13:39:14 +08:00
Tools - 规范 UI 设计成为: 2026-02-16 19:03:09 +08:00
docs Checkpoint 8 2026-02-23 10:53:15 +08:00
openspec Checkpoint 7 2026-02-23 10:29:47 +08:00
skills Checkpoint 1:依赖锁定与运行开关落地 2026-02-22 10:12:26 +08:00
数据表 Checkpoint 5 & Checkpoint 6 2026-02-22 22:00:43 +08:00
.gitignore - 补充游戏核心逻辑 2026-02-20 18:08:27 +08:00
README.md 功能:添加启动器场景并更新项目设置 2026-02-13 21:49:59 +08:00

README.md

VampireLike

VampireLike 是一个基于 Unity 2022.3 LTS 的 2D/3D按当前资源配置动作生存类项目使用 GameMain + GameFramework 分层组织代码与资源。

开发环境

  • Unity Editor: 2022.3.62f3c1
  • .NET/C#: Unity 默认编译链
  • 推荐 IDE:
    • Rider
    • Visual Studio
    • VS Code

快速开始

  1. 使用 Unity Hub 打开项目根目录。
  2. 确认 Unity 版本为 2022.3.62f3c1(或兼容的 2022.3 LTS 版本)。
  3. 进入后等待包与资源导入完成。
  4. 在 Editor 中打开场景并运行:
    • Assets/GameMain/Scenes/Menu.unity
    • Assets/GameMain/Scenes/Main.unity
    • Assets/GameMain/Scenes/Game.unity

可选命令行启动(请替换为本机 Unity 路径):

Unity -projectPath .

项目结构

主要目录说明:

  • Assets/GameMain/: 游戏业务代码、场景和内容资源。
  • Assets/GameFramework/: 通用框架与编辑器扩展。
  • Assets/Plugins/: 第三方插件(如 DOTween
  • Assets/Resources/: 运行时通过 Resources 加载的资源。
  • Assets/StreamingAssets/: 原样打包到客户端的数据。
  • Json/数据表/: 配置与数据表。
  • Tools/: 本地工具脚本和处理流程。

请避免直接修改自动生成目录:

  • Library/
  • Temp/
  • Logs/
  • obj/

代码规范

  • C# 使用 4 空格缩进。
  • 大括号与声明同行K&R 风格)。
  • 单文件单主类型,文件名与类型名一致。
  • 公有类型/成员使用 PascalCase
  • 局部变量/参数使用 camelCase
  • 需要在 Inspector 暴露的私有字段使用 [SerializeField]

测试

项目已包含 com.unity.test-framework

建议约定:

  • 测试目录:Assets/Tests/Assets/<Module>/Tests/
  • 测试文件命名:*Tests.cs
  • 使用 NUnit [Test] 编写用例
  • 通过 Unity Test Runner 运行:Window > General > Test Runner

常用依赖Packages

当前项目使用的关键包包括:

  • com.unity.inputsystem
  • com.unity.render-pipelines.universal
  • com.unity.textmeshpro
  • com.unity.ugui
  • com.unity.nuget.newtonsoft-json
  • com.unity.test-framework

完整依赖见 Packages/manifest.json

协作与提交流程(建议)

  • 提交信息使用简短祈使句,例如:UI: Fix shop item refresh logic
  • PR 建议包含:
    • 变更摘要
    • 测试说明
    • 关联任务/Issue
    • UI 改动截图或录屏

配置注意事项

  • 修改依赖时,请同时关注:
    • Packages/manifest.json
    • ProjectSettings/
  • 大体积二进制资源需与对应 .meta 一并提交。

许可证

当前仓库未提供许可证文件。若需开源或外发,请先补充 LICENSE