Ejemplo n.º 1
0
        private void executeNext()
        {
            if (m_CurrentStage != null)
            {
                m_CurrentStage.Clear();
            }

            m_CurrentStageType = m_CurrentStageType + 1;

            if (m_CurrentStageType > EAnalyzeStageType.EndAnalyze)
            {
                m_AnalyzeFinish?.Invoke(m_AnalyzeWrap.AnalyzedData);
                Clear();
                return;
            }

            EditorUtility.DisplayProgressBar(m_CurrentStageType.ToString(), m_CurrentStageType.ToString(), (float)m_CurrentStageType / (float)EAnalyzeStageType.EndAnalyze);

            m_CurrentStage = getAnalyzeStage(m_CurrentStageType, m_Params.Vendor);
            if (m_CurrentStage == null)
            {
                Debug.LogErrorFormat("未能找到{0}阶段", m_CurrentStageType.ToString());
                Clear();
                return;
            }
            EAnalyzeStageStatus status = m_CurrentStage.Init(m_AnalyzeWrap, m_Params);

            handleStageStatus(status);
        }
Ejemplo n.º 2
0
 private void Clear()
 {
     EditorUtility.ClearProgressBar();
     EditorApplication.update -= update;
     m_CurrentStageType        = EAnalyzeStageType.None;
     m_CurrentStage            = null;
     m_AnalyzeWrap             = null;
     m_Params        = null;
     m_AnalyzeFinish = null;
     foreach (var item in AnalyzedStageMap)
     {
         foreach (var item1 in item.Value)
         {
             item1.Value.Clear();
         }
     }
 }