コード例 #1
0
        internal void RefreshStatus()
        {
            if (m_TreeView != null)
            {
                m_TreeView.Reload();
                m_TreeView.CullNonExistingItemsFromSelection();
            }

            if (m_SelectedGameObjects.Length == 1)
            {
                UpdateTextSingle(PrefabUtility.GetCorrespondingObjectFromSource(m_SelectedGameObjects[0]));
            }
            else
            {
                UpdateTextMultiple();
            }

            m_AnyOverrides = false;
            m_Disconnected = false;
            m_InvalidComponentOnInstance = false;
            m_ModelPrefab             = false;
            m_Immutable               = false;
            m_InvalidComponentOnAsset = false;

            for (int i = 0; i < m_SelectedGameObjects.Length; i++)
            {
                UpdateStatusChecks(m_SelectedGameObjects[i]);
            }
        }
コード例 #2
0
 void UpdateAndClose()
 {
     if (editorWindow != null)
     {
         editorWindow.Close();
         m_Owner.Reload();
     }
 }
コード例 #3
0
        internal void RefreshStatus(bool reloadTreeView = true)
        {
            if (m_TreeView != null && reloadTreeView)
            {
                if (!m_TreeView.IsValidTargetPrefabInstance())
                {
                    editorWindow.Close();
                    return;
                }

                m_TreeView.Reload();
                m_TreeView.CullNonExistingItemsFromSelection();
            }

            m_AnyOverrides = false;
            m_InvalidComponentOnInstance = false;
            m_ModelPrefab             = false;
            m_Immutable               = false;
            m_InvalidComponentOnAsset = false;
            m_HasManagedReferencesWithMissingTypesOnAsset = false;

            for (int i = 0; i < m_SelectedGameObjects.Length; i++)
            {
                UpdateStatusChecks(m_SelectedGameObjects[i]);
            }

            if (m_SelectedGameObjects.Length == 1)
            {
                UpdateTextSingle(PrefabUtility.GetCorrespondingObjectFromSource(m_SelectedGameObjects[0]));
            }
            else
            {
                UpdateTextMultiple();
            }

            // There are a few cases where the Tree View reports no overrides even though
            // PrefabUtility.HasPrefabInstanceAnyOverrides says there are; for example if
            // a component has been removed on an instance, but also removed on the Asset.
            // In these cases we want to make the UI not show apply/revert buttons,
            // since it's confusing and inconsistent to have those when the view says
            // "No overrides". Case 1197800.
            if (m_TreeView != null && !m_TreeView.hasModifications)
            {
                m_AnyOverrides = false;
            }

            m_UnusedOverridesExist = PrefabUtility.HavePrefabInstancesUnusedOverrides(m_SelectedGameObjects);
        }