Позиционирование дочернего объекта
Я создаю более 50 одинаковых объектов(по размерам). Для того чтобы не засорять вкладку иерархия в Unity я хочу запихнуть все эти объекты в общий объект под символическим название Map у которого есть Rect Transform(и у заполняемых объектов этот компонент тоже есть).
// Определяем ширину и высоту Map
gameObject.GetComponent<RectTransform>().SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal,
MapGeneration.Instanse.Width * 0.48f);
gameObject.GetComponent<RectTransform>().SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical,
MapGeneration.Instanse.Height * 0.48f);
mapResources = MapGeneration.Instanse.CreateMapResources();
if (mapResources != null)
{
// цикл для прохождения каждого уровня высоты
for (int i = 0; i < MapGeneration.Instanse.Height; i++)
{
//цикл для заполнения конкретного уровня объектами
for (int j = 0; j < MapGeneration.Instanse.Width; j++)
{
if (resourcesCounter == 0)
{
var r = Instantiate(mapResources[resourcesCounter], transform, true);
r.transform.position = new Vector3((transform.position.x - 4.8f) + 0.24f,
(transform.position.x + 1f) - 0.24f, 0f);
}
//else
// Instantiate(mapResources[resourcesCounter], transform, true);
resourcesCounter++;
}
}
}
Для создания каждого объекта я задаю родительский transform для того чтобы он отображался внутри Map. При этом x и y соответственно меняют свои значения на x = 4.8f && y = -1. Для того чтобы правильно отобразить объект я должен сменить позицию объекта. Мне нужно отнять значения которые перешли от родителя и добавить те координаты которые мне нужны, чтобы все дочерние объекты отображались в виде сетки. Я пробовал Grid Laoyut Group, если там удалить один из элементов то сразу идёт заполнение пустого места, и это мне не подходит. Циклы сейчас не работают как нужно так как я должен разобраться с позиционированием объектов.
Этот вариант который я описал работает и позиционирует объект туда куда нужно. Не знаю, правильно ли я меняю позицию объекта и уверен в том что есть намного правильное присвоение координат новому объекту. Кто то может мне подсказать как лучше?