private TaskState Pickup(Dwarf d, float dt, double dtd) { WorldObject m = d.GetActionbuilding().WithdrawWorldObject(d.GetActionMapElementType(), d.GetActionLevel()); if (m == null) return TaskState.Fail; if (m.RegisteredForConsumption == true) { //throw new Exception(""); } if (m.ElementType == MapElementType.Plank) DwarfDebugInfo.PlanksPickedUp++; d.CarryWorldObject(m); d.SetActionBuilding(d.GetPrevActionBuilding()); return TaskState.Success; }