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);
            }
        }
示例#2
0
        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);
        }