WorkGiver_LoadTransporters

Started by Fafn1r, January 09, 2017, 09:33:18 AM

Previous topic - Next topic

Fafn1r

Making my first .dll mod turn out to be harder than I thought. I could use some help.

I'm trying to make haulers carry stuff to caravans by removing conditions check if a pawn is part of the the caravan. However I have no clue what part of WorkGiver_LoadTransporters is responsible for this. It doesn't help that I don't fully understand how workGiver system in Rimworld works.

namespace RimWorld
{
public class WorkGiver_LoadTransporters : WorkGiver_Scanner
{
public override ThingRequest PotentialWorkThingRequest
{
get
{
return ThingRequest.ForGroup(ThingRequestGroup.Transporter);
}
}

public override PathEndMode PathEndMode
{
get
{
return PathEndMode.Touch;
}
}

public override bool HasJobOnThing(Pawn pawn, Thing t)
{
CompTransporter transporter = t.TryGetComp<CompTransporter>();
return LoadTransportersJobUtility.HasJobOnTransporter(pawn, transporter);
}

public override Job JobOnThing(Pawn pawn, Thing t)
{
CompTransporter transporter = t.TryGetComp<CompTransporter>();
return LoadTransportersJobUtility.JobOnTransporter(pawn, transporter);
}
}
}


PotentialWorkThingRequest rings a bell. As if it makes sure to give the job only to pawns from transport group. Damn, I don't know what I'm talking about.