// Token: 0x0600567B RID: 22139 RVA: 0x001CE8D0 File Offset: 0x001CCAD0 public static bool CanUseConsideringQueuedJobs(Pawn pawn, ThingWithComps gear, bool showMessage = true) { CompReloadableDual compReloadable = gear.TryGetComp <CompReloadableDual>(); if (compReloadable == null) { return(true); } string text = null; if (!Event.current.shift) { if (!compReloadable.CanBeUsed) { text = compReloadable.DisabledReason(compReloadable.MinAmmoNeededSecondry(false), compReloadable.MaxAmmoNeededSecondry(false)); } } else if (ReloadableDualUtility.TotalChargesFromQueuedJobs(pawn, gear) + 1 > compReloadable.RemainingCharges) { text = compReloadable.DisabledReason(compReloadable.MaxAmmoAmountSecondry(), compReloadable.MaxAmmoAmountSecondry()); } if (text != null) { if (showMessage) { Messages.Message(text, pawn, MessageTypeDefOf.RejectInput, false); } return(false); } return(true); }
// Token: 0x06005677 RID: 22135 RVA: 0x001CE7CC File Offset: 0x001CC9CC public static List <Thing> FindEnoughAmmo(Pawn pawn, IntVec3 rootCell, CompReloadableDual comp, bool forceReload) { if (comp == null) { return(null); } IntRange desiredQuantity = new IntRange(comp.MinAmmoNeededSecondry(forceReload), comp.MaxAmmoNeededSecondry(forceReload)); return(RefuelWorkGiverUtility.FindEnoughReservableThings(pawn, rootCell, desiredQuantity, (Thing t) => t.def == comp.AmmoDefSecondry)); }