存食物需求的ability
This commit is contained in:
38
Source/Documents/Project_Summary.md
Normal file
38
Source/Documents/Project_Summary.md
Normal file
@@ -0,0 +1,38 @@
|
||||
# 项目:可交互的虫卵囊
|
||||
|
||||
## 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. 下一步计划
|
||||
|
||||
解决当前的编译错误,并成功构建项目,以便在游戏中进行最终的测试。
|
||||
Reference in New Issue
Block a user