void UpdateTargetDirtyCount()
            {
                if (m_Editor != null)
                {
                    // When coming back from a target reload
                    // this is the very first place we can catch mismatching saved data and fix them.
                    if (m_Editor.m_TargetsReloaded)
                    {
                        SaveTargetDirtyCount();
                        m_Editor.m_TargetsReloaded = false;
                        for (int i = 0; i < m_Editor.targets.Length; i++)
                        {
                            UpdateSavedData(m_Editor.targets[i]);
                        }
                        return;
                    }

                    if (m_TargetDirtyCount != null)
                    {
                        for (int i = 0; i < m_Editor.targets.Length; i++)
                        {
                            var newCount = EditorUtility.GetDirtyCount(m_Editor.targets[i]);
                            if (m_TargetDirtyCount[i] != newCount)
                            {
                                m_TargetDirtyCount[i] = newCount;
                                m_Editor.InitializeExtraDataInstance(targetObjects[i], i);
                            }
                        }
                    }
                }
            }
 void UpdateTargetDirtyCount()
 {
     if (m_Editor != null)
     {
         if (m_TargetDirtyCount != null)
         {
             for (int i = 0; i < m_Editor.targets.Length; i++)
             {
                 var newCount = EditorUtility.GetDirtyCount(m_Editor.targets[i]);
                 if (m_TargetDirtyCount[i] != newCount)
                 {
                     m_TargetDirtyCount[i] = newCount;
                     m_Editor.InitializeExtraDataInstance(targetObjects[i], i);
                 }
             }
         }
     }
 }