private static void MassTakeFirstAutoTakeableOption(Pawn pawn, IntVec3 dest) { FloatMenuOption floatMenuOption = null; foreach (FloatMenuOption item in FloatMenuMakerMap.ChoicesAtFor(dest.ToVector3Shifted(), pawn)) { if (!item.Disabled && item.autoTakeable && (floatMenuOption == null || item.autoTakeablePriority > floatMenuOption.autoTakeablePriority)) { floatMenuOption = item; } } floatMenuOption?.Chosen(colonistOrdering: true, null); }
private static void MassTakeFirstAutoTakeableOption_NewTemp(Pawn pawn, IntVec3 dest, out string cantTakeReason) { FloatMenuOption floatMenuOption = null; cantTakeReason = null; foreach (FloatMenuOption item in FloatMenuMakerMap.ChoicesAtFor(dest.ToVector3Shifted(), pawn)) { if (item.Disabled || !item.autoTakeable) { cantTakeReason = item.Label; } else if (floatMenuOption == null || item.autoTakeablePriority > floatMenuOption.autoTakeablePriority) { floatMenuOption = item; } } floatMenuOption?.Chosen(colonistOrdering: true, null); }
private static void MassTakeFirstAutoTakeableOption(Pawn pawn, IntVec3 dest) { FloatMenuOption floatMenuOption = null; foreach (FloatMenuOption current in FloatMenuMakerMap.ChoicesAtFor(dest.ToVector3Shifted(), pawn)) { if (!current.Disabled && current.autoTakeable) { if (floatMenuOption == null || current.autoTakeablePriority > floatMenuOption.autoTakeablePriority) { floatMenuOption = current; } } } if (floatMenuOption != null) { floatMenuOption.Chosen(true, null); } }