Retrieving pawns jobQueue? Always empty?

Started by Shabazza, April 30, 2016, 02:05:47 PM

Previous topic - Next topic

Shabazza

I try to get a pawns jobQueue to print it in the log (for now).
I can only read out the current job "currJob".
But when I check the pan.jobQueue.Count property, it's always "0",
no matter how many different tasks I give them to do.
Like ordering to build, hunt, mine, haul and chop wood simultaneously.
But the queue is left empty for each pawn.

Do I understand the purpose of the jobQueue wrongly?

1000101

The job queue is filled by individual jobs, such as the construction job drivers hauling resources for blueprints and frames.  It will fill the queue with separate haul jobs to each blueprint/frame.

Only when a specific JobDriver issuing a series of queued jobs under specific conditions, will it have anything in it.

You should only rely on CurJob outside of a JobDriver which explicitly creates queued jobs.
(2*b)||!(2*b) - That is the question.
There are 10 kinds of people in this world - those that understand binary and those that don't.

Powered By

Shabazza

Hm.
My goal is to be able to see which job a pawn is doing currently (which I can), and also which jobs he was designated to do after the current one.
What you say is interesting.
Does this mean, that issuing multiple orders like cutting wood, building, hauling rubble ect. without being inherently connected or issued by the same workGiver / jobDriver are not planned in advance by the game at all, but only selected one-by-one whenever a single job is done?

RawCode

there is no long term queue, you can't know who will build specific section of large wall before some pawn actually started process.

1000101

Quote from: ShabazzaDoes this mean, that issuing multiple orders like cutting wood, building, hauling rubble ect. without being inherently connected or issued by the same workGiver / jobDriver are not planned in advance by the game at all, but only selected one-by-one whenever a single job is done?

Correct, only the last issued job is valid, the last one is immediately interrupted and discarded.  The discarded job can then be issued to another pawn or the same pawn at a later date but it will have a new job (driver) instance.
(2*b)||!(2*b) - That is the question.
There are 10 kinds of people in this world - those that understand binary and those that don't.

Powered By