@privet_andrei123

Почему код срабатывает 1 раз?

вообщем при нажатии кнопки пробел скрипт ищет обьекты с тэгом которыу находятся не подалёку и если он находится не больше чем 2м. то тогда он ищет обьект айди которого равен = или айди обьекта . переносит этот обьект в инвентарь удаляя его и остонавливает цикл . как это в игре он поднимает обьект а другие обьекты не удаляет!! пожалуйста скажите как это исправить ?
void AddItem()
    {
        if(Input.GetKeyDown(KeyCode.Space))
        {
            for(int i = 0; i < items.Length;i++)
            {
                if (Vector3.Distance(transform.position, items[i].transform.position)< 2)
                {
                    
                    for (int e = 0; e < Inventory.transform.childCount; e++)
                    {

                        slot = Inventory.transform.GetChild(e);
                        if (slot.GetComponent<SlotIfo>().id == 0 || slot.GetComponent<SlotIfo>().id == items[i].GetComponent<Item>().id)
                        {                                              
                            slot.GetComponent<SlotIfo>().id = items[i].GetComponent<Item>().id;
                            slot.GetComponent<SlotIfo>().icon = items[i].GetComponent<Item>().icons;
                            slot.GetComponent<SlotIfo>().count = slot.GetComponent<SlotIfo>().count + items[i].GetComponent<Item>().count;
                            Destroy(items[i]);
                            break;
                        }
                       
                    }
                  
                }
                else
                {
                    Debug.Log(i);
                }
            }
        }
    }
  • Вопрос задан
  • 88 просмотров
Решения вопроса 1
@privet_andrei123 Автор вопроса
я это исправил добавивь в начале метода items = GameObject.FindGameObjectsWithTag("item");
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы