public void ALERT_WorkshopPartUnavailable(VehiclePart_Config _part) { L3.Clear_all_requests(); RAM.Clear_all_requests(); HD.Clear_all_requests(); L3.Change_state(StorageState.IDLE); RAM.Change_state(StorageState.IDLE); HD.Change_state(StorageState.IDLE); if (factoryMode == FactoryMode.OOP) { Workshop _purgeMe = null; int _leastUsedSpace = 999999; foreach (Workshop _WORKSHOP in workshops) { if (_WORKSHOP.usedSpace > 0 && _WORKSHOP.usedSpace < _leastUsedSpace) { _purgeMe = _WORKSHOP; _leastUsedSpace = _WORKSHOP.usedSpace; _WORKSHOP.Clear_all_requests_then_idle(); } } if (_purgeMe != null) { Debug.Log("PART SHORTAGE: " + _part); _purgeMe.Purge_parts_to_shared_storage(); } } }