У меня есть 2 GameObjects: 1.) Винты (с 2 пустыми дочерними объектами с прикрепленным скриптом для порождения различных сборных типов винтов) 2.) Plate
Объекту Plate мне назначен скрипт, которыйполучает определенные теги и помещает эти объекты с этим тегом в массив. Однако я добавил метод для добавления двух разных типов тегов в список, а затем в один массив (винты), как показано ниже.
Создание экземпляров винтов происходит внутри другого метода сценариев Awake (). Оба вида винтов создаются x20, поэтому их всего 40.
Попытка получить все объекты с одним тегом работает нормально.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Linq;
public class ScrewHandler : MonoBehaviour
{
/*------------- Declaration of vars etc. -------------*/
public GameObject[] Screws;
/*----------------- Create Array --------------------------*/
private void Start()
{
Debug.Log("Start called");
Screws = FindGameObjectsWithTags(new string[] {"ScrewA","ScrewB"});
// custom method to get multiple types of tags into one array
GameObject[] FindGameObjectsWithTags(params string[] tags)
{
var all = new List<GameObject>();
foreach(string tag in tags)
{
var temp = GameObject.FindGameObjectsWithTag(tag).ToList();
}
return all.ToArray();
}
}
}
Если все работает, я долженвозможность видеть массив со всеми объектами в инспекторе скрипта.