# 自动配置功能说明 ## ✨ 新功能:自动创建默认配置 ### 概述 现在 **无需手动创建配置文件**!`MemoryDecryptorMode` 会在启动时自动检测,如果没有配置文件,将自动创建并使用默认配置。 ## 🚀 使用方式 ### 最简单的方式(推荐) 1. 添加 `MemoryDecryptorMode` 组件到场景 2. **不设置** Config 字段(留空) 3. 运行游戏 系统会自动: - ✅ 检测到配置为空 - ✅ 创建默认配置(包含完整示例数据) - ✅ 启动系统 ### 自定义配置方式 如果需要自定义配置: 1. 创建配置文件:`Create > AibisDream > Language > Memory Decryptor Config` 2. 自定义笑话、目标、视觉效果等 3. 在 `MemoryDecryptorMode` 的 Config 字段拖入配置文件 ## 📦 默认配置包含 自动创建的默认配置包含: ### 网格设置 - 20x20 网格 - 单元格大小:45px - 单元格间隔:2px ### 视觉效果 - 磷光绿主色调 (#33ff00) - CRT 复古风格 - 解码器条:5x3 青色边框 ### 游戏数据 - **笑话数据**:18+ 个销售员笑话(足够填充网格) - **目标数据**:3个目标配置 - Fear Solution (正确答案) - Fear Decoy (诱饵) - Sadness Solution (诱饵) ### 解码器模板 - 3个孔的 5x3 模板 - 句子:"[孔1]要来了,不合格[孔2]被骂了,这让我很[孔3]" ### 正确答案 - **位置**:(3, 5) - **频率**:90Hz (FEAR) - **词汇**:临检、英里、担心 - **完整句**:"临检要来了,不合格英里被骂了,这让我很担心" ## 💡 工作原理 ```csharp private void Awake() { // 如果没有配置文件,自动创建默认配置 if (config == null) { Debug.LogWarning("[MemoryDecryptorMode] 未设置配置文件,使用默认配置"); config = MemoryDecryptorConfigExample.CreateDefaultConfig(); } // ... 其他初始化 } ``` ## 🎯 测试流程 ### 零配置测试 1. **创建场景对象** ``` LanguageAnalysisManager └── MemoryDecryptorMode (什么都不设置!) ├── MemoryDecryptorRenderer └── MemoryDecryptorInputHandler ``` 2. **连接 UI 组件**(只需要连接 UI 引用) 3. **运行测试** ```yarn <> <> ``` 4. **开始游戏** - 频率调到 90Hz - 解码器条拖到 (3, 5) 位置 - 点击验证 → 成功! ## 📊 配置对比 | 方式 | 配置步骤 | 自定义程度 | 适用场景 | |------|---------|-----------|----------| | **自动配置** | 0 步 | ❌ 固定 | 快速测试、原型验证 | | **手动配置** | 3-5 步 | ✅ 完全自定义 | 正式关卡、特殊需求 | ## 🔧 何时使用自定义配置 建议在以下情况创建自定义配置: - ✅ 需要不同的笑话内容 - ✅ 需要不同的目标位置和词汇 - ✅ 需要调整网格大小 - ✅ 需要自定义视觉风格 - ✅ 制作正式关卡 ## ⚙️ 自定义配置示例 ```csharp // 创建自己的配置 var myConfig = ScriptableObject.CreateInstance(); myConfig.gridWidth = 15; // 改为 15x15 myConfig.gridHeight = 15; myConfig.completeJokes = new List { "我的自定义笑话内容...", // ... }; // 保存为资源 #if UNITY_EDITOR UnityEditor.AssetDatabase.CreateAsset(myConfig, "Assets/MyConfig.asset"); #endif ``` ## 🎉 优势 1. **即插即用** - 添加组件就能用 2. **快速迭代** - 无需反复创建配置 3. **降低门槛** - 新手更容易上手 4. **灵活切换** - 测试用默认,正式用自定义 ## ⚠️ 注意事项 1. **运行时配置**:自动创建的配置是运行时对象,不会保存到磁盘 2. **每次启动重新创建**:每次运行游戏都会重新创建默认配置 3. **持久化需求**:如果需要保存配置修改,请创建 ScriptableObject 资源 ## 📝 日志提示 当使用自动配置时,Console 会显示: ``` [MemoryDecryptorMode] 未设置配置文件,使用默认配置 ``` 这是正常提示,不是错误! --- **现在你可以直接添加组件开始测试,无需任何配置!** 🚀