По сути, я пытаюсь воссоздать DDR и просто пытаюсь снизить базовый игровой процесс. Я все еще новичок, когда дело доходит до разработчика игр, но у меня есть немного опыта. Прямо сейчас я создаю случайную стрелку из 4 различных направлений стрелок, и когда я делаю это, я помещаю ее в список. Первая стрелка в списке всегда является следующей стрелкой в сцене, и я использую RemoveAt (), чтобы убедиться в этом. Проблема, которую я получаю, состоит в том, что, когда я получаю два одинаковых направления стрелки (исходящих из одного и того же исходного префаба) в строке в списке, удаление одного удалит их все, если они будут последовательными. Это только делает это так; например, если мой порядок стрелок оставлен, оставлен, вниз, это удаляет оба левых. Если у меня порядок стрелок влево, вниз, влево, то удаляются только первые левые, и я просто не могу понять, почему. Я знаю, что это не имена, потому что я пытался изменить это каждый раз, но это ничего не дало, я пытался использовать очередь, все, что я делаю, я просто не могу заставить ее работать, и мне нужна помощь.
spawnedBox = Instantiate(spawningBox, new Vector3(spawnPos, -6, 0), Quaternion.identity) as GameObject;
arrows.Add(spawnedBox);
(другой файл)
destroyArrow = FindObjectOfType<Blocks>().arrows[0];
FindObjectOfType<Blocks>().arrows.RemoveAt(0); Destroy(destroyArrow);