private static void SetHideFlagsRecursive(GameObject gameObject)
        {
            gameObject.set_hideFlags(20);
            if (!Application.get_isPlaying())
            {
                gameObject.set_hideFlags(gameObject.get_hideFlags() | 1);
            }
            IEnumerator enumerator = gameObject.get_transform().GetEnumerator();

            try
            {
                while (enumerator.MoveNext())
                {
                    Transform transform = (Transform)enumerator.Current;
                    PrefabControlPlayable.SetHideFlagsRecursive(transform.get_gameObject());
                }
            }
            finally
            {
                IDisposable disposable;
                if ((disposable = (enumerator as IDisposable)) != null)
                {
                    disposable.Dispose();
                }
            }
        }
        private static void SetHideFlagsRecursive(GameObject gameObject)
        {
            gameObject.hideFlags = (HideFlags.DontSaveInEditor | HideFlags.DontSaveInBuild);
            if (!Application.isPlaying)
            {
                gameObject.hideFlags |= HideFlags.HideInHierarchy;
            }
            IEnumerator enumerator = gameObject.transform.GetEnumerator();

            try
            {
                while (enumerator.MoveNext())
                {
                    object    obj       = enumerator.Current;
                    Transform transform = (Transform)obj;
                    PrefabControlPlayable.SetHideFlagsRecursive(transform.gameObject);
                }
            }
            finally
            {
                IDisposable disposable;
                if ((disposable = (enumerator as IDisposable)) != null)
                {
                    disposable.Dispose();
                }
            }
        }
 public GameObject Initialize(GameObject prefabGameObject, Transform parentTransform)
 {
     if (prefabGameObject == null)
     {
         throw new ArgumentNullException("Prefab cannot be null");
     }
     if (this.m_Instance != null)
     {
         Debug.LogWarningFormat("Prefab Control Playable ({0}) has already been initialized with a Prefab ({1}).", new object[]
         {
             prefabGameObject.get_name(),
             this.m_Instance.get_name()
         });
     }
     else
     {
         this.m_Instance = Object.Instantiate <GameObject>(prefabGameObject, parentTransform, false);
         this.m_Instance.set_name(prefabGameObject.get_name() + " [Timeline]");
         this.m_Instance.SetActive(false);
         PrefabControlPlayable.SetHideFlagsRecursive(this.m_Instance);
     }
     return(this.m_Instance);
 }