Баг связанный с присвоением GameObject

207
19 апреля 2018, 09:40

Есть код:

private GameObject PastObj;
private GameObject[] AllUsing;
public int Offset;
private void Awake()
{
    if (name != "1")
    {
        AllUsing = GameObject.FindGameObjectsWithTag("CatUpgradesParent");
        foreach (GameObject Obj in AllUsing) if (Obj.name == (Int32.Parse(name) - 1).ToString()) PastObj = Obj;
        Debug.Log(name + " | " + GetComponent<RectTransform>().anchoredPosition.y + " - " + PastObj.GetComponent<RectTransform>().anchoredPosition.y + " obj " + PastObj.name + " " + PastObj.transform.root.GetComponent<CatUpgrade>().islight);
    }
}
private void Update()
{
    if (PastObj.transform.root.GetComponent<CatUpgrade>().islight) Offset = -50;
    else Offset = -150;
    if (name != "1" && GetComponent<RectTransform>().anchoredPosition.y - PastObj.GetComponent<RectTransform>().anchoredPosition.y != Offset) transform.Translate(new Vector2(0, 1) * Time.deltaTime);
}

В массиве AllUsing элементы с именами:

  • 1
  • 2
  • 3
  • 4

В методе Awake() foreach должен из всех элементов массива AllUsing найти тот, у которого имя соответствует имени элемента на котором скрипт - 1. Но PastObj всегда оказывается пустым. Почему?

UPD: Этот скрипт висит на всех объектах массива AllUsing и все они с тегом CatUpgradesParent

READ ALSO
Какой List оптимальнее?

Какой List оптимальнее?

Всем приветЧто быстрее и оптимальнее? Один большой List<T> (элементов так на 5000) или несколько List<T>'ов поменьше (на 500,1000 элементов и т

158
Анимация выделения в Xaml C#

Анимация выделения в Xaml C#

Подскажите как убрать анимацию (выделения) при нажатии на Frame

155
Проблема с AutoMapper в ASP.NET

Проблема с AutoMapper в ASP.NET

Делаю маппинг в контроллере для выдачи всех книг

182