Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- [ExecuteInEditMode]
- public class GameObjectInfo : MonoBehaviour
- {
- [System.Serializable]
- public class GameObjectstInfo
- {
- public GameObject parent;
- public int childrenCount;
- public List<Transform> children = new List<Transform>();
- }
- public string gameObjectsInfo = "";
- public GameObjectstInfo[] objectsinfo;
- // Start is called before the first frame update
- void Start()
- {
- Search();
- }
- public void Search()
- {
- if (gameObjectsInfo != "")
- {
- var foundObjects = FindGameObjectsWithName(gameObjectsInfo);
- objectsinfo = new GameObjectstInfo[foundObjects.Length];
- for (int i = 0; i < foundObjects.Length; i++)
- {
- objectsinfo[i] = new GameObjectstInfo();
- objectsinfo[i].parent = foundObjects[i];
- foreach (Transform child in foundObjects[i].transform)
- {
- objectsinfo[i].childrenCount += 1;
- objectsinfo[i].children.Add(child);
- }
- }
- }
- }
- GameObject[] FindGameObjectsWithName(string nameIt)
- {
- int it = 0;
- GameObject[] objArr;
- bool b = false;
- while (!b)
- {
- if (GameObject.Find(nameIt))
- {
- GameObject.Find(nameIt).name = nameIt + it;
- it++;
- }
- else
- {
- b = true;
- }
- }
- objArr = new GameObject[it];
- while (it > 0)
- {
- it--;
- objArr[it] = GameObject.Find(nameIt + it);
- objArr[it].name = nameIt;
- }
- return objArr;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement