RoguelikeKit/README.md

5.2 KiB
Raw Permalink Blame History

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 InspectorSirenix 大量 ScriptableObject 上使用了 [ShowInInspector] / [BoxGroup] 等特性 不装会编不过
DOTweenDemigiant 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. 准备美术资源:
    • 敌人 PrefabEnemyBehavior
    • 玩家 PrefabCharacterBehavior
    • 技能 PrefabAbilities/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 / 配置改造