protected virtual void Update()
        {
            Scene scene = SceneManager.GetActiveScene();

            scene.GetRootGameObjects(_objList);
            for (int i = 0; i < _objList.Count; i++)
            {
                GameObject obj = _objList[i];
                obj.GetComponentsInChildren(false, _gizmoList);
                for (int j = 0; j < _gizmoList.Count; j++)
                {
                    if (areGizmosDisabled((_gizmoList[j] as Component).transform))
                    {
                        continue;
                    }

                    _backDrawer.ResetMatrixAndColorState();

                    try {
                        _gizmoList[j].OnDrawRuntimeGizmos(_backDrawer);
                    } catch (Exception e) {
                        Debug.LogException(e);
                    }
                }
            }

            _readyForSwap = true;
        }
 /// <summary>
 /// Tries to get a gizmo drawer for a given gameObject.  Will fail if there is no
 /// gizmo manager in the scene, or if it is disabled.  Will also fail if there is
 /// a disable RuntimeGizmoToggle as a parent of the gameObject.
 /// 
 /// The gizmo matrix will be set to the identity matrix.
 /// The gizmo color will be set to white.
 /// </summary>
 public static bool TryGetGizmoDrawer(GameObject attatchedGameObject, out RuntimeGizmoDrawer drawer) {
   drawer = _backDrawer;
   if (drawer != null && !areGizmosDisabled(attatchedGameObject.transform)) {
     drawer.ResetMatrixAndColorState();
     return true;
   } else {
     return false;
   }
 }
 /// <summary>
 /// Tries to get a gizmo drawer.  Will fail if there is no Gizmo manager in the 
 /// scene, or if it is disabled.
 /// 
 /// The gizmo matrix will be set to the identity matrix.
 /// The gizmo color will be set to white.
 /// </summary>
 public static bool TryGetGizmoDrawer(out RuntimeGizmoDrawer drawer) {
   drawer = _backDrawer;
   if (drawer != null) {
     drawer.ResetMatrixAndColorState();
     return true;
   } else {
     return false;
   }
 }
 /// <summary>
 /// Tries to get a gizmo drawer for a given gameObject.  Will fail if there is no
 /// gizmo manager in the scene, or if it is disabled.  Will also fail if there is
 /// a disable RuntimeGizmoToggle as a parent of the gameObject.
 ///
 /// The gizmo matrix will be set to the identity matrix.
 /// The gizmo color will be set to white.
 /// </summary>
 public static bool TryGetGizmoDrawer(GameObject attatchedGameObject, out RuntimeGizmoDrawer drawer)
 {
     drawer = _backDrawer;
     if (drawer != null && !areGizmosDisabled(attatchedGameObject.transform))
     {
         drawer.ResetMatrixAndColorState();
         return(true);
     }
     else
     {
         return(false);
     }
 }
 /// <summary>
 /// Tries to get a gizmo drawer.  Will fail if there is no Gizmo manager in the
 /// scene, or if it is disabled.
 ///
 /// The gizmo matrix will be set to the identity matrix.
 /// The gizmo color will be set to white.
 /// </summary>
 public static bool TryGetGizmoDrawer(out RuntimeGizmoDrawer drawer)
 {
     drawer = _backDrawer;
     if (drawer != null)
     {
         drawer.ResetMatrixAndColorState();
         return(true);
     }
     else
     {
         return(false);
     }
 }