1

Вот скрипт :

using UnityEngine;

public class Inventory : MonoBehaviour {

bool[] isFull;
public GameObject[] slots;

void Start() {
    for (int i = 0; i < slots.Length; i++)
    {
        slots[i] = GameObject.FindGameObjectWithTag("InventoryCanvas").transform.Find("Slots").GetChild(i).gameObject;
        isFull[i] = false;

    }
}

}

Ошибку выдает на строчке isFull[i] = false; Без этой строчки всё работает.

JediMan
  • 117
  • 1
    bool[] isFull а где выделение памяти? – pavel Nov 23 '18 at 18:29
  • 1
  • Ребят, вы серьезно?! Лайкаете, отвечаете на явный дубликат, да еще и где у автора как минимум 3 таких вопроса было, с той же самой ошибкой, закрытые дубликатом. Если он не хочет хотя бы прочитать то, что дают, то лайки то тут к чему? Не понять мне это... – EvgeniyZ Nov 23 '18 at 18:58
  • Пусть везде все и сравнивается к неинициализированой переменной, везде это сводится по-разному. Я читал некоторые тему, но конкретно у себя я не мог понять ошибку. – JediMan Nov 23 '18 at 19:03

1 Answers1

4
void Start() {
  isFull = new bool[slots.Length];
  for (int i = 0; i ...
  • Спасибо, работает. Странно что вчера и без этой штуки все работало... Хотя я не знаю как оно работало, в ошибке разобрался. isFull не был инициализирован. – JediMan Nov 23 '18 at 18:32