Есть код:
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 элементы с именами:
В методе Awake()
foreach должен из всех элементов массива AllUsing найти тот, у которого имя соответствует имени элемента на котором скрипт - 1. Но PastObj всегда оказывается пустым. Почему?
UPD: Этот скрипт висит на всех объектах массива AllUsing и все они с тегом CatUpgradesParent
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Всем приветЧто быстрее и оптимальнее? Один большой List<T> (элементов так на 5000) или несколько List<T>'ов поменьше (на 500,1000 элементов и т