Example #1
0
 /// <summary>
 /// 到上一个
 /// </summary>
 private void ToLast()
 {
     if (Data.CheckingIndex == 0)
     {
         TopTips = "当前是第一个资源";
         return;
     }
     Data.CheckingIndex--;
     currentCheckUnit.Quit();
     currentCheckUnit = DJAssetsCheckFactory.GetCheckUnit(currentConfig.type);
 }
Example #2
0
 /// <summary>
 /// 到下一个
 /// </summary>
 private void ToNext()
 {
     if (Data.CheckingIndex == Data.SubmitAssetsList.Count - 1)
     {
         TopTips = "已经是最后一个资源了";
         return;
     }
     Data.CheckingIndex++;
     currentCheckUnit.Quit();
     currentCheckUnit = DJAssetsCheckFactory.GetCheckUnit(currentConfig.type);
 }
Example #3
0
    void OnAutoCheckGUI()
    {
        EditorGUILayout.LabelField("检测结束前,请不要取消锁定");
        if (Data.CheckingIndex < Data.CheckingkeyList.Count)
        {
            TopTips = "自动检测进度:(" + Data.CheckingIndex + "/" + Data.CheckingkeyList.Count + ")";

            //循环所有资源,并进行检查
            var allAssets = DJAssetsDataManager.GetInstance().AssetsDict;
            var _config   = allAssets[Data.CheckingkeyList[Data.CheckingIndex]];

            //设计中的资源就不检测了
            if (_config.state == DJAssetsDefine.AssetState.Designing)
            {
                Data.CheckingIndex += 1;
                return;
            }

            var testUnit = DJAssetsCheckFactory.GetCheckUnit(_config.type);
            //得到对应的检测脚本

            if (testUnit == null)
            {
                //这里就不写出所有类型的测试脚本了
                Data.CheckingIndex += 1;
                return;
            }

            if (testUnit.LoadAsset(_config.id) == false ||
                testUnit.CheckAsset() == false)
            {
                ErrorList.Add(testUnit);
                Data.CheckingIndex += 1;
                return;
            }

            Data.CheckingIndex += 1;


            return;
        }

        if (ErrorList.Count > 0)
        {
            EditorGUILayout.BeginScrollView(new Vector2(300, 1200));
            //执行到这里检测已经完毕了,就打印结果
            for (int i = 0; i < ErrorList.Count; i++)
            {
                var _data = ErrorList[i];
                for (int j = 0; j < _data.EditorInfos.Count; j++)
                {
                    EditorGUILayout.LabelField(_data.EditorInfos[j]);
                }
                EditorGUILayout.Space();
            }
            EditorGUILayout.EndScrollView();
            TopTips = "共有" + ErrorList.Count + "份资源没有通过自动检查.注意,当退出检测模式时,未通过的资源会被设置为错误状态。";
        }
        else
        {
            TopTips = "所有资源通过检查";
        }


        if (ErrorList.Count > 0)
        {
            //方便将错误列表转发给各个负责人
            if (GUILayout.Button("将错误列表复制到剪切板中"))
            {
                string errorListStr = "";
                for (int i = 0; i < ErrorList.Count; i++)
                {
                    var _config = DJAssetsDataManager.GetInstance().AssetsDict[ErrorList[i].id];
                    errorListStr += _config.id + " " + _config.type + " " + _config.name + "\n";
                }

                var te = new TextEditor();
                te.text = errorListStr;
                te.OnFocus();
                te.Copy();
            }
        }


        if (GUILayout.Button("退出检查模式"))
        {
            for (int i = 0; i < ErrorList.Count; i++)
            {
                var _data = ErrorList[i];
                DJAssetsDataManager.GetInstance().SetAssetState(_data.id, AssetState.Error);
            }
            ChangeState(CheckType.None);
        }
    }
Example #4
0
    /// <summary>
    /// 人工检测过程页面
    /// </summary>
    void OnManualCheckGUI_Proc()
    {
        //得到检测单元
        if (currentCheckUnit == null)
        {
            currentCheckUnit = DJAssetsCheckFactory.GetCheckUnit(currentConfig.type);
            currentCheckUnit.Init();
            currentCheckUnit.LoadAsset(currentConfig.id);//如果加载失败,应该有一些提示,但是这里就先不提示了
        }

        EditorGUILayout.Space();

        currentCheckUnit.DrawEditorTestGUI();

        EditorGUILayout.Space();

        EditorGUILayout.BeginHorizontal();

        if (Data.CheckingIndex > 0 && GUILayout.Button("上一个"))
        {
            ToLast();
        }


        if (Data.CheckingIndex < Data.SubmitAssetsList.Count - 1 && GUILayout.Button("下一个"))
        {
            ToNext();
        }

        EditorGUILayout.EndHorizontal();

        EditorGUILayout.Space();

        if (GUILayout.Button("通过检测"))
        {
            TopTips = "操作:通过检查";
            //加入成功队列
            if (Data.PassList.Contains(currentConfig) == false)
            {
                Data.PassList.Add(currentConfig);
            }
            if (Data.RefuseList.Contains(currentConfig) == true)
            {
                Data.RefuseList.Remove(currentConfig);
            }
            ToNext();
        }

        if (GUILayout.Button("没通过"))
        {
            TopTips = "操作:没有通过检查";
            //加入失败队列
            if (Data.RefuseList.Contains(currentConfig) == false)
            {
                Data.RefuseList.Add(currentConfig);
            }
            if (Data.PassList.Contains(currentConfig) == true)
            {
                Data.PassList.Remove(currentConfig);
            }
            ToNext();
        }

        EditorGUILayout.Space();

        if (GUILayout.Button("结束检查"))
        {
            Data.mTypeCheckState = TypeCheckState.PrintResult;
        }
    }