public void Unregister()
{
this.Environment.World.JobManager.RemoveJobSource(this);
this.Environment.ObjectRemoved -= Environment_ObjectRemoved;
this.Environment.ObjectMoved -= Environment_ObjectMoved;
var jobs = m_jobs.ToArray();
foreach (var job in jobs)
job.Abort();
m_jobs = null;
if (m_itemTracker.IsEnabled)
DisableItemObjectView();
foreach (var item in this.Area.Range().SelectMany(p => this.Environment.GetContents(p)).OfType<ItemObject>())
{
if (item.StockpiledBy == this)
item.StockpiledBy = null;
}
}