protected virtual bool ShouldBeCalledOff()
 {
     if (!GatheringsUtility.PawnCanStartOrContinueGathering(organizer))
     {
         return(true);
     }
     if (!GatheringsUtility.AcceptableGameConditionsToContinueGathering(base.Map))
     {
         return(true);
     }
     return(false);
 }
Ejemplo n.º 2
0
 public override bool CanExecute(Map map, Pawn organizer = null)
 {
     if (organizer != null)
     {
         FindFiancees(organizer, out var firstFiance, out var secondFiance);
         if (!GatheringsUtility.PawnCanStartOrContinueGathering(firstFiance) || !GatheringsUtility.PawnCanStartOrContinueGathering(secondFiance))
         {
             return(false);
         }
     }
     return(base.CanExecute(map, organizer));
 }
 public static bool FianceCanContinueCeremony(Pawn pawn, Pawn otherPawn)
 {
     if (!GatheringsUtility.PawnCanStartOrContinueGathering(pawn))
     {
         return(false);
     }
     if (pawn.HostileTo(otherPawn))
     {
         return(false);
     }
     if (pawn.Spawned && !pawn.Downed)
     {
         return(!pawn.InMentalState);
     }
     return(false);
 }
 public virtual bool CanExecute(Map map, Pawn organizer = null)
 {
     if (organizer == null)
     {
         organizer = FindOrganizer(map);
     }
     if (organizer == null)
     {
         return(false);
     }
     if (!TryFindGatherSpot(organizer, out var _))
     {
         return(false);
     }
     if (!GatheringsUtility.PawnCanStartOrContinueGathering(organizer))
     {
         return(false);
     }
     return(true);
 }