kl_life
@kl_life
Python программист

How fix lists problem in unity?

public void RemovePlayerItem()
    {
        List<PlayerListItem> playerListItemToRemove = new List<PlayerListItem>();

        foreach (PlayerListItem playerlistItem in PlayerListItems)
        {
            if(!Manager.GamePlayers.Any(b=> b.ConnectionID == playerlistItem.ConnectionID))
            {
                playerListItemToRemove.Add(playerlistItem);
            }
        }
        if(playerListItemToRemove.Count > 0)
        {
            foreach(PlayerListItem playerlistItemToRemove in playerListItemToRemove)
            {
                GameObject ObjectToRemove = playerListItemToRemove.gameObject;
                PlayerListItems.Remove(playerListItemToRemove);
                Destroy(ObjectToRemove);
                ObjectToRemove = null;
            }
        }
    }


юнити ругается:
631535a3468dd440466955.png

вообще не понимаю что такое, туплю уже пару часов, смотрел помогает "using System.Linq;" но мне не помогло...
  • Вопрос задан
  • 66 просмотров
Решения вопроса 1
@Voland69
if(playerListItemToRemove.Count > 0)
        {
            // тут у вас каждый элемент итерируемой коллекции - ***list***
            // а вся итерируемая коллекция - ***List***
            foreach(PlayerListItem playerlistItemToRemove in playerListItemToRemove)
            {
                // 1 ошибка - тут вы достаете gameObject у листа айтемов (***List***)
                GameObject ObjectToRemove = playerListItemToRemove.gameObject;
                // 2 ошибка - а тут вы удаляете лист из листа айтемов (***List***)
                PlayerListItems.Remove(playerListItemToRemove);
                Destroy(ObjectToRemove);
                ObjectToRemove = null;
            }
        }

P.S. привыкайте к внятному неймингу - эти тренировки на внимательность Вам ни к чему
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы