static void Postfix(ref Job __result, Pawn p, Thing t, IntVec3 storeCell) { Comp_StorageInput comp = storeCell.GetStorageComponent <Comp_StorageInput>(p.Map); if (comp != null) { __result.count = comp.CanAccept(t); } }
static bool Prefix(ref bool __result, IntVec3 c, Map map, Thing t, Pawn carrier, Faction faction) { Comp_StorageInput comp = c.GetStorageComponent <Comp_StorageInput>(map); if (comp != null) { __result = comp.CanAccept(t) > 0 && (carrier == null || (carrier.Map.reachability.CanReach( (!t.SpawnedOrAnyParentSpawned) ? carrier.PositionHeld : t.PositionHeld, c, PathEndMode.ClosestTouch, TraverseParms.For(carrier, Danger.Deadly, TraverseMode.ByPawn, false)))); return(false); } return(true); }