# 项目:可交互的虫卵囊 ## 1. 核心目标 创建一个可交互的虫卵囊,它允许一个特定的 Pawn(阿拉克涅女皇种)通过右键菜单与它交互,从一个可配置的列表中选择一个 Pawn,并在经过一段可配置的延迟后,生成这个 Pawn。 ## 2. 已完成的功能 * **创建了新的 VS 项目**: [`ArachnaeSwarm.csproj`](Source/ArachnaeSwarm/ArachnaeSwarm.csproj) * **实现了核心的生成逻辑**: * `CompProperties_SpawnPawnFromList.cs`: 定义了 XML 中可配置的属性,包括: * `pawnKinds`: 可生成的 Pawn 列表。 * `whitelist`: 可以与虫卵囊交互的 Pawn 列表。 * `delay`: 孵化延迟。 * `spawnCount`: 生成数量。 * `destroyOnSpawn`: 生成后是否摧毁自身。 * `lordJob`: 生成的 Pawn 要执行的集体任务。 * `CompSpawnPawnFromList.cs`: 实现了核心的生成逻辑,包括: * 生成右键菜单。 * 处理孵化倒计时。 * 生成指定数量的 Pawn。 * 在检查面板上显示孵化状态和提示信息。 * **实现了交互的 Job**: * `ARA_Jobs.xml`: 定义了 `ARA_IncubateJob`。 * `JobDriver_Incubate.cs`: 实现了让 Pawn 走到虫卵囊旁边并启动孵化过程的逻辑。 * **实现了动态的图形切换**: * `Building_Incubator.cs`: 创建了一个新的建筑基类,它会根据虫卵囊是否正在孵化来动态地改变自身的图形。 * **创建了测试用的 Defs**: * `ARA_InteractiveEggSac.xml`: 定义了一个可交互的虫卵囊,用于在游戏中测试新功能。 * `ArachnaeSwarm_Keys.xml`: 定义了相关的本地化 `key`。 ## 3. 当前状态 目前,项目已经基本完成了所有的核心功能,并且能够成功编译。但是,在最后一次构建时,我们遇到了一个编译错误,导致我们无法进行最终的测试。 ## 4. 下一步计划 解决当前的编译错误,并成功构建项目,以便在游戏中进行最终的测试。