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