Dwarrowdelf.Client.Stockpile.IJobObserver C# (CSharp) Method

IJobObserver() private method

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);
        }