private IEnumerator CoAutoDropWorkers() { while (gameObject.activeSelf) { var dropItems = JobList.FindAll(Job => Job.state == JOB_STATE.JOB_DROP); foreach (var dropItem in dropItems) { dropItem.jobEndAction?.Invoke(dropItem.parameter); JobList.Remove(dropItem); DestroyImmediate(dropItem.gameObject); } yield return(_dropManagingDelay); } }