Приношу извинения за путаницу. Возможно, проблема связана с тем, что в коде не было добавлено обновление списка вещей после удаления. Попробуйте следующие изменения:вещи все равно остаются
C#:
void RemoveItems(ItemContainer container)
{
if (container != null)
{
// Создать новый список для удаления вещей
List<Item> itemsToRemove = new List<Item>();
// Добавить вещи для удаления в список
foreach (Item item in container.itemList)
{
if (itemsToRemove.Contains(item.info.shortname))
{
itemsToRemove.Add(item);
}
}
// Удаление вещей из контейнера
foreach (Item item in itemsToRemove)
{
item.RemoveFromContainer();
item.Remove();
}
// Проверка, остались ли вещи в контейнере
if (container.itemList.Count > 0)
{
Debug.Log("В трупе еще остались вещи");
}
else
{
Debug.Log("В трупе нет вещей");
}
}
container.Clear();
}
Этот код создает новый список для удаления вещей, а затем удаляет их из контейнера. После этого код проверяет, остались ли вещи в контейнере, и выводит соответствующее сообщение. Пожалуйста, попробуйте этот код и дайте мне знать, если проблема остается.