Beispiel #1
0
 public override bool ShouldShowFor(StatRequest req)
 {
     if (req.Def is ThingDef {
         IsDoor : true
     } thingDef)
     {
         if (!Building_DoorExpanded.DoorNeedsPower(thingDef))
         {
             return(stat == HeronDefOf.DoorOpenTime);
         }
         if (!req.HasThing)
         {
             return(stat != HeronDefOf.DoorOpenTime);
         }
         if (stat == HeronDefOf.DoorOpenTime)
         {
             return(true);
         }
         if (Building_DoorExpanded.DoorIsPoweredOn(req.Thing) is bool doorPowerOn)
         {
             return(doorPowerOn ? stat == HeronDefOf.UnpoweredDoorOpenTime : stat == HeronDefOf.PoweredDoorOpenTime);
         }
     }
     return(false);
 }
 private bool DoorPowerOn(StatRequest req)
 {
     if (stat == HeronDefOf.PoweredDoorOpenTime)
     {
         return(true);
     }
     if (stat == HeronDefOf.UnpoweredDoorOpenTime)
     {
         return(false);
     }
     return(Building_DoorExpanded.DoorIsPoweredOn(req.Thing) ?? Building_DoorExpanded.DoorNeedsPower((ThingDef)req.Def));
 }