RoguelikeKit/README.md

103 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# RoguelikeKit
一套 **类幸存者Vampire Survivors-like / 肉鸽生存)** 的 Unity 运行时代码 + ScriptableObject 配置,可作为新项目的肉鸽核心起点直接复用。
> 仓库**仅包含代码与配置**(共 ~636 个 .cs / .meta + 62 个 .asset不包含任何美术资源贴图、模型、动画、Prefab、音效、Atlas、VFX、VAT 烘焙产物)。
> 代码中引用的素材路径需要在新项目里自行替换或重连。
---
## 一、目录与模块
```
Assets/Common/
├── Scripts/
│ ├── Abilities/ (102 files) 主动/被动技能、进化、技能管理器、技能 UI
│ ├── Boss Fight/ ( 7 files) Boss 出战调度、BossType、BossfightData
│ ├── Drop/ ( 11 files) 宝石、金币、补给、磁吸拾取
│ ├── Enemies/ ( 29 files) 敌人行为、Boss 蟹/面具/巨史莱姆、出生器、VAT 接入
│ ├── Player/ ( 12 files) CharacterBehavior、CharacterData、玩家移动/HP/经验
│ ├── Rendering/ ( 2 files) RendererAdapterSMR↔VAT 统一适配)
│ ├── Stage/ ( 16 files) StageField、关卡数据、PresetData
│ ├── Toolkit/ ( 43 files) Input、Vibration、通用工具
│ ├── UI/ ( 26 files) Lobby/Settings/Pause/Currency 等运行时 UI
│ ├── Upgrades/ ( 5 files) 永久升级、UpgradesSave
│ ├── Wave/ ( 15 files) BurstWave、MaintainWave、WaveAsset 调度
│ └── XP/ ( 3 files) 经验曲线
└── Scriptables/
├── Abilities/ (39 .asset) 全部技能/进化/装备 Data
├── Stages/ ( 6 .asset) 关卡 / Boss 战配置
├── Upgrades/ ( 6 .asset) 永久升级配置
├── Testing/ ( 1 .asset)
└── Input/ Input 模板(无 .asset仅 .meta
```
排除内容(**不在仓库内**
- `Editor/` 目录里的全部编辑器扩展代码WaveEditor、AbilitiesOverlay、自定义 menu 等)
- Prefab / 贴图 / 模型 / 动画 / 音效 / Atlas / VFX
- VAT 烘焙产物 `_VAT_Baking/Output/`
- 美术素材包 `Assets/art/``Assets/Res/`
- 第三方插件 `Assets/Plugins/`
---
## 二、依赖说明
新工程引入这套代码前,需要先准备:
| 依赖 | 用途 | 备注 |
|---|---|---|
| Unity 2022 LTS 及以上 | — | 推荐 2022.3+ |
| **Odin Inspector**Sirenix | 大量 ScriptableObject 上使用了 `[ShowInInspector]` / `[BoxGroup]` 等特性 | 不装会编不过 |
| **DOTween**Demigiant | UI / 抖动 / 数值缓动 | 用 Free 或 Pro 均可 |
| **TextMeshPro** | UI 文本 | Unity 自带,需 Window→TMP→Import TMP Essentials |
| **Unity Input System** | `Toolkit/Input/` 模块 | 需要在 Player Settings 切换 Input 为 Both 或 New |
| (可选) **YIUI / IceMark** | 仅 `UI/` 部分窗口用到 | 不用就替换为自己的 UI 框架 |
| (可选) **AnimMapBaker + UnityMeshSimplifier** | 仅 `Enemies/EnemyVATAttachment.cs` 用到VAT 接入) | 不需要 VAT 可直接删该文件 |
---
## 三、典型集成步骤
1.`Assets/Common/` 整个拷进新工程同名路径(保留 GUID/.meta 不丢引用)
2. 安装上面"必需"依赖Odin / DOTween / TMP / InputSystem
3. 解决 `UI/Windows/` 里依赖的 UI 框架,按需要替换或保留
4.`Scriptables/Stages/*.asset` 里配置一关,挂场景启动入口
5. 准备美术资源:
- 敌人 Prefab`EnemyBehavior`
- 玩家 Prefab`CharacterBehavior`
- 技能 Prefab`Abilities/Behaviors/*/Active Abilities/...` 各自的需求)
6.`Scriptables/Abilities/*.asset` 上把 Prefab 引用补全
7. Boot 一关跑通 → 接 Wave/Boss/Upgrade
---
## 四、关键运行时入口
| 文件 | 作用 |
|---|---|
| `Stage/StageFieldManager.cs` | 关卡总调度(环境/陷阱/资源点) |
| `Stage/StageData.cs` | 关卡 ScriptableObject |
| `Wave/WaveAsset.cs` | 一关的怪物波次定义(含 BurstWave / MaintainWave |
| `Enemies/EnemiesSpawner.cs` | 敌人出生器,按 Wave 配置实例化 |
| `Player/CharacterBehavior.cs` | 玩家角色行为(移动 / HP / 经验 / 死亡) |
| `Abilities/Data/AbilityManager.cs` | 技能仓库总管(升级窗口、合成进化、运行时实例化) |
| `Drop/Gem/DropBehavior.cs` | 掉落物 + 磁吸 |
| `Upgrades/UpgradesSave.cs` | 永久升级存档 |
---
## 五、注意事项
1. **GUID 一致性**:仓库带 `.meta`,新项目复制时**保留 .meta**,否则 ScriptableObject 之间的引用全部断链。
2. **代码命名空间**:核心命名空间为 `OctoberStudio.*`(来源于原素材包结构),是否改名按需要决定。
3. **配置只是骨架**`Scriptables/` 里 62 个 .asset 是当前工程的运行配置,新项目应当复制后**重新链接美术 Prefab 引用**,否则会有大量 `Missing Reference`
4. **Editor 工具不在本仓库**:若需要 Wave 可视化编辑、Ability Overlay 调试、Survivors Play 入口等,应当从原工程额外复制 `Assets/Common/Scripts/**/Editor/` 子目录。
---
## 六、来源致谢
- 项目原型源自 OctoberStudio 的 Survivors 模板
- 在此基础上做了 VAT 接入 / 自定义 UI / 配置改造