通过标签创建 array/list 个对象(最初数量未知)

Create array/list of many objects(initially unknown amount) by tag

我目前正在为我的 space 游戏开发雷达系统,我正在尝试研究如何通过标签将游戏对象添加到列表或数组中,然后可以在其他方法。我不能手动执行此操作,因为我将程序化地生成每个级别,其中包含不同数量的这些对象:行星、敌人、小行星等。我已经查找了至少 5 种左右的方法,但是我注意到有些方法似乎在 Unity 5 中被弃用并且不再工作(他们在 3 或 4 年前被竖起大拇指),或者他们只是没有按照我需要的方式工作,即是方法的本地而不是 class.任何帮助将不胜感激。

 public List<GameObject>  myListofGameObject = new List<GameObject>();



 Start(){
    myListofGameObject.AddRange(GameObject.FindGameObjectsWithTag("TagName"));
    myListofGameObject.AddRange(GameObject.FindGameObjectsWithTag("TagName2"));
    myListofGameObject.AddRange(GameObject.FindGameObjectsWithTag("TagName3"));


    foreach(GameObject gc in myListofGameObject){

           Debug.Log(gc.name);
    }
 }

对我来说非常好,确保为 linq 泛型添加系统 class。