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);
            }
        }