public Workshop(Game.Workshop workshop) { ID = workshop.ID; WorkshopID = workshop.WorkshopID; Name = workshop.Name(); AcceptGeneratedJobs = workshop.AcceptGeneratedJobs; Location = new Location(workshop.Position); Efficiency = workshop.Efficiency(); AssignedGnomeID = workshop.HasAssignedWorker ? workshop.Worker.ID : (UInt32?)null; Priority = workshop.Priority; IsSuspended = workshop.Suspended; StorageCapacityTotal = GnomanEmpire.Instance.GameDefs.WorkshopDef(workshop.WorkshopID).MaxCapacity; StorageCapacityUsed = GetStorageCapacityUsed(workshop); foreach (var workshopJob in workshop.JobQueue) { // TODO: Obtain the jobs at this workshop. } }