扒开 R.E.P.O. 看源码:Rep0S2cLeak
Rep0S2cLeak 是多人恐怖游戏 R.E.P.O. 的 C# 源码快照。把 Assembly-CSharp.dll 反编译 脚本全导出来 850 多个文件 存成一份纯读代码的存档。
先说清楚 这不是能跑的 Unity 工程。引擎、资产、场景全没有 .csproj 里的 HintPath 指向我本地 Steam 装的 Managed DLL 仓库根本不带。用途就是看架构、看命名、看模块咋拆 顺手做点静态分析。
敌人系统是重点。EnemyDirector 在上头统一调度 EnemyParent 和 EnemyRigidbody 管实体和物理 每个敌人自带一套 EnemyState* 状态机 EnemyHunter、EnemyShadow、EnemyGnome、EnemyBang 挂在下面。顺状态机基本能把每个怪的行为倒推出来。
主流程走 GameDirector 状态枚举从 Load / Start / Main 一路排到 Outro / End / Death 一局的生命周期就清楚了。GameManager 里还藏着 Steam 季节活动检测 关卡由 LevelGenerator 加一堆 Map* 生成。
音频这块超出预期。Audial/ 和 Audial.Utils/ 是一整套自己写的音效处理 压缩、失真、混响、镶边 加滤波、包络、LFO 相当于把一个小型 DSP 库塞进游戏。语音更狠 同时上了 Overtone 和 Klattersynth 两套 TTS 运行时实时合成人声。
其余部分 网络是 Photon PUN2 做多人同步加语音 UI 调试有 ChatManager、DebugConsoleUI 那票。栈是 C# 12、.NET Standard 2.1、Unity 全家桶 外加 Steamworks 和 Discord SDK。想自己翻 从 GameManager.cs、GameDirector.cs、EnemyDirector.cs 进去 顺状态机往外爬 想编译得自己补 DLL 改 HintPath。GPLv3。