# 项目：可交互的虫卵囊

## 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. 下一步计划

解决当前的编译错误，并成功构建项目，以便在游戏中进行最终的测试。