private IJobObserver ( IJob job, JobStatus status ) : void | ||
job | IJob | |
status | JobStatus | |
return | void |
void IJobObserver.OnObservableJobStatusChanged(IJob job, JobStatus status)
{
var j = (StoreToStockpileJob)job;
switch (status)
{
case JobStatus.Done:
j.Item.StockpiledBy = this;
break;
case JobStatus.Abort:
case JobStatus.Fail:
Events.AddGameEvent(j.Item, "failed to store item to stockpile");
break;
default:
throw new Exception();
}
Debug.Assert(j.Item.ReservedBy == this);
j.Item.ReservedBy = null;
m_jobs.Remove(j);
this.Environment.World.Jobs.Remove(j);
}