38 lines
1.2 KiB
C#
38 lines
1.2 KiB
C#
using Verse;
|
|
using Verse.AI;
|
|
using RimWorld;
|
|
|
|
namespace ArachnaeSwarm
|
|
{
|
|
// 将 DefOf 类放在这里,以便在命名空间内共享
|
|
[DefOf]
|
|
public static class ARA_TrainableDefOf
|
|
{
|
|
public static TrainableDef ARA_Sowing;
|
|
|
|
static ARA_TrainableDefOf()
|
|
{
|
|
DefOfHelper.EnsureInitializedInCtor(typeof(ARA_TrainableDefOf));
|
|
}
|
|
}
|
|
|
|
// 这个新的条件节点将检查动物是否应该执行任何农业工作(播种或切割/收获)
|
|
public class ThinkNode_ConditionalAnimalShouldDoGrowingWork : ThinkNode_Conditional
|
|
{
|
|
protected override bool Satisfied(Pawn pawn)
|
|
{
|
|
// 首先,进行安全检查,确保 pawn.training 存在
|
|
if (pawn.training == null)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
// 检查动物是否学会并被允许执行“播种”工作
|
|
bool canSow = pawn.training.HasLearned(ARA_TrainableDefOf.ARA_Sowing) &&
|
|
pawn.training.GetWanted(ARA_TrainableDefOf.ARA_Sowing);
|
|
|
|
// 现在只需要检查播种技能,因为切割功能已合并
|
|
return canSow;
|
|
}
|
|
}
|
|
} |