private IEnumerator RemoveObjectFromPoolCoroutine(PickableUsableObject obj, float lagSeconds) { yield return(new WaitForSeconds(lagSeconds)); obj.AssociatedContainer.UnassignEquipmentUsable(); obj.AssignEquipmentContainer(null); yield return(null); }
private IEnumerator AddObjectToPoolCoroutine(PickableUsableObject obj, float lagSeconds) { yield return(new WaitForSeconds(lagSeconds)); UsableContainer container = null; for (int i = 0; i < _usableContainers.Length; ++i) { container = _usableContainers[i]; if (container.IsFree) { break; } } obj.AssignEquipmentContainer(container); container.AssignEquipmentUsable(obj); _usableList.Add(obj); yield return(null); }