Почему неправильно добавляются строки в двумерный массив? - C#
Формулировка задачи:
Добавляю один объект - всё нормально. Добавляю второй - длина массива увеличивается вчетверо.
Задаю так:
public class TrackerStruct
{
public GameObject TrackerObj;
public Vector3 TrackerCamPos;
}
public List<TrackerStruct> Trackers = new List<TrackerStruct>();
public List<List<TrackerStruct>> TrackerCameras = new List<List<TrackerStruct>>();Добавляю так.
GameObject SomeTracker = Instantiate(TrackerPrefab, Vector3.zero, Quaternion.identity);
SomeTracker.name = "Tracker" + (Trackers.Count + 1).ToString();
SomeTracker.transform.SetParent(Canvas.transform);
SomeTracker.GetComponent<TrackerScript>().TrackerID = Trackers.Count;
Trackers.Add(new TrackerStruct
{
TrackerObj = SomeTracker,
TrackerCamPos = new Vector3(0, 0, 0)
});
// something wrong
for (int i = 0; i < Cameras.Count; i++)
{
TrackerCameras.Add(Trackers);
}Вывожу так
Name = "";
for (int t = 0; t < Trackers.Count; t++)
{
for (int c = 0; c < TrackerCameras.Count; c++)
{
Name = Name + TrackerCameras[c][t].TrackerObj.name + " " + TrackerCameras[c][t].TrackerCamPos.ToString();
}
Name = Name + "\n";
}
Name = Name + Trackers.Count.ToString() + " " + TrackerCameras.Count.ToString();
TextMassive.GetComponent<Text>().text = Name;
Name = "";Работает не так как надо. Нужно чтобы каждый трекер имел информацию по каждой камере. Если камеры 3, то и столбцов должно быть 3. А у меня получается, что при добавлении каждого трекера удваивается число столбцов.
Решение задачи: «Почему неправильно добавляются строки в двумерный массив?»
textual
Листинг программы
for (int i = 0; i < Cameras.Count; i++)
{
TrackerCameras.Add(Trackers);
}