private void UpdateList <T>(List <T> list) { List <int> indicesToRemove = new List <int>(); for (int i = 0; i < list.Count; i++) { ISpawnable item = (ISpawnable)list[i]; item.Update(); if (item.SafeToDespawn) { indicesToRemove.Add(i); } } for (int i = 0; i < indicesToRemove.Count; i++) { list.RemoveAt(indicesToRemove[i] - i); } }
private void UpdateList(List <INpc> list) { List <int> indicesToRemove = new List <int>(); for (int i = 0; i < list.Count; i++) { ISpawnable item = list[i]; item.Update(); if (item.SafeToDespawn) { if (item.GetType() == typeof(Aquamentus) || item.GetType() == typeof(Skeleton) || item.GetType() == typeof(Goriya) || item.GetType() == typeof(Hand)) { itemDropper.DropItem(item.Position); } indicesToRemove.Add(i); } } for (int i = 0; i < indicesToRemove.Count; i++) { list.RemoveAt(indicesToRemove[i] - i); } }