コード例 #1
0
 /// <summary>
 /// Return safe for pawn if...
 ///    .1. Area has a roof AND...
 ///       .a. it's nighttime OR
 ///       .b. C can arrive before sunlight OR
 ///       .c. C can arrive before sunlight damage.
 ///
 /// </summary>
 /// <param name="curJob"></param>
 /// <returns></returns>
 public static bool IsSunlightSafeFor(this IntVec3 targ, Pawn pawn)
 {
     if (targ.Roofed(pawn.MapHeld) &&
         (TargetIsInTheSameRoom(targ, pawn) || CanSurviveTimeInSunlight(targ, pawn) || targ.CanArriveBeforeSunlight(pawn)))
     {
         return(true);
     }
     if (!targ.Roofed(pawn.MapHeld) && targ.CanArriveBeforeSunlight(pawn))
     {
         return(true);
     }
     return(false);
 }