static bool ShouldSkipPostfix(bool __result, WorkGiver_OperateScanner __instance, Pawn pawn, bool forced) { if (__result && pawn.IsPrisonerOfColony) { return(CanOperate(pawn, __instance)); } return(__result); }
private static bool CanOperate(Pawn pawn, WorkGiver_OperateScanner __instance) { List <Thing> list = pawn.Map.listerThings.ThingsOfDef(__instance.ScannerDef); for (int i = 0; i < list.Count; i++) { if (list[i].Faction == Faction.OfPlayer) { CompScanner compScanner = list[i].TryGetComp <CompScanner>(); if (compScanner != null && compScanner.CanUseNow) { return(false); } } } return(true); }