/// <summary>
        /// 收集调试器游戏对象及子物体
        /// </summary>
        private void CollectDebuggerGameObject(Transform transform, DebuggerGameObject parent)
        {
            DebuggerGameObject gameObject = Main.m_ReferencePool.Spawn <DebuggerGameObject>();

            gameObject.Target = transform.gameObject;
            gameObject.Name   = transform.gameObject.name;
            gameObject.Layer  = LayerMask.LayerToName(transform.gameObject.layer);
            gameObject.IsMain = gameObject.Target.GetComponent <Main>();
            gameObject.Parent = parent;
            _gameObjects.Add(gameObject);

            if (gameObject.Parent != null)
            {
                gameObject.Parent.Childrens.Add(gameObject);
            }
            else
            {
                GameObjectRoots.Add(gameObject);
            }

            for (int i = 0; i < transform.childCount; i++)
            {
                CollectDebuggerGameObject(transform.GetChild(i), gameObject);
            }
        }
        /// <summary>
        /// 重新收集调试器游戏对象
        /// </summary>
        private IEnumerator CollectDebuggerGameObjects()
        {
            yield return(YieldInstructioner.GetWaitForEndOfFrame());

            Main.m_ReferencePool.Despawns(_gameObjects);
            GameObjectRoots.Clear();

            _gameObjectCaches.Clear();
            GlobalTools.GetRootGameObjectsInAllScene(_gameObjectCaches);
            for (int i = 0; i < _gameObjectCaches.Count; i++)
            {
                CollectDebuggerGameObject(_gameObjectCaches[i].transform, null);
            }
            CurrentGameObject        = null;
            IsShowGameObjectFiltrate = false;
        }