Files
WulaFallenEmpireRW/Source/WulaFallenEmpire/Pawn/WULA_AutonomousMech/ThinkNode_ConditionalWorkMode_Drone.cs
ProjectKoi-Kalo\Kalo dc12f47b3d refactor(mech): replace DroneWorkModeDef with MechWorkModeDef and update logic
- Replace all references of `DroneWorkModeDef` with `MechWorkModeDef` in components and gizmos
- Delete `DroneWorkModeDef.cs` and remove related fields from `WulaDefOf`
- Update `WULA_AutonomousMech.xml` to use `JobGiver_DroneSelfShutdown` and correct mode names
- Remove redundant safety checks in `ThinkNode_ConditionalAutonomousWorkMode`
- Update WulaFallenEmpire assembly
2025-12-11 16:02:38 +08:00

32 lines
1009 B
C#

using RimWorld;
using Verse;
using Verse.AI;
namespace WulaFallenEmpire
{
public class ThinkNode_ConditionalWorkMode_Drone : ThinkNode_Conditional
{
public MechWorkModeDef workMode;
public override ThinkNode DeepCopy(bool resolve = true)
{
ThinkNode_ConditionalWorkMode_Drone thinkNode_ConditionalWorkMode_Drone = (ThinkNode_ConditionalWorkMode_Drone)base.DeepCopy(resolve);
thinkNode_ConditionalWorkMode_Drone.workMode = workMode;
return thinkNode_ConditionalWorkMode_Drone;
}
protected override bool Satisfied(Pawn pawn)
{
if (!pawn.RaceProps.IsMechanoid || pawn.Faction != Faction.OfPlayer)
{
return false;
}
CompAutonomousMech compDrone = pawn.TryGetComp<CompAutonomousMech>();
if (compDrone == null)
{
return false;
}
return compDrone.CurrentWorkMode == workMode;
}
}
}