isFinished() public method

public isFinished ( ) : bool
return bool
コード例 #1
0
ファイル: DoxygenWindow.cs プロジェクト: stjordanis/gridworld
    void Update()
    {
        if (DoxygenOutput != null)
        {
            Instance.Repaint();

            if (DoxygenOutput.isStarted() && !DoxygenOutput.isFinished())
            {
                CurentOutput       = DoxygenOutput.ReadLine();
                DoxyoutputProgress = DoxyoutputProgress + 0.1f;
                if (DoxyoutputProgress >= 0.9f)
                {
                    DoxyoutputProgress = 0.75f;
                }
            }
            if (DoxygenOutput.isFinished())
            {
                SetTheme(SelectedTheme);
                DoxygenLog         = DoxygenOutput.ReadFullLog();
                DoxyoutputProgress = -1.0f;
                DoxygenOutput      = null;
                DocsGenerated      = true;
                EditorPrefs.SetBool(UnityProjectID + "DocsGenerated", DocsGenerated);
            }
        }
    }
コード例 #2
0
    void GenerateGUI()
    {
        if (DoxyFileExists)
        {
            //UnityEngine.Debug.Log(DoxyoutputProgress);
            GUILayout.Space(10);
            if (!DocsGenerated)
            {
                GUI.enabled = false;
            }
            if (GUILayout.Button("Browse Documentation", GUILayout.Height(40)))
            {
                Application.OpenURL("File://" + Config.DocDirectory + "/html/annotated.html");
            }
            GUI.enabled = true;

            if (DoxygenOutput == null)
            {
                if (GUILayout.Button("Run Doxygen", GUILayout.Height(40)))
                {
                    DocsGenerated = false;
                    RunDoxygen();
                }

                if (DocsGenerated && DoxygenLog != null)
                {
                    if (GUILayout.Button("View Doxygen Log", EditorStyles.toolbarDropDown))
                    {
                        ViewLog = !ViewLog;
                    }
                    if (ViewLog)
                    {
                        scroll = EditorGUILayout.BeginScrollView(scroll, GUILayout.ExpandHeight(true));
                        foreach (string logitem in DoxygenLog)
                        {
                            EditorGUILayout.SelectableLabel(logitem, EditorStyles.miniLabel, GUILayout.ExpandWidth(true));
                        }
                        EditorGUILayout.EndScrollView();
                    }
                }
            }
            else
            {
                if (DoxygenOutput.isStarted() && !DoxygenOutput.isFinished())
                {
                    string currentline = DoxygenOutput.ReadLine();
                    DoxyoutputProgress = DoxyoutputProgress + 0.1f;
                    if (DoxyoutputProgress >= 0.9f)
                    {
                        DoxyoutputProgress = 0.75f;
                    }
                    Rect r = EditorGUILayout.BeginVertical();
                    EditorGUI.ProgressBar(r, DoxyoutputProgress, currentline);
                    GUILayout.Space(40);
                    EditorGUILayout.EndVertical();
                }
                if (DoxygenOutput.isFinished())
                {
                    if (Event.current.type == EventType.Repaint)
                    {
                        /*
                         * If you look at what SetTheme is doing, I know, it seems a little scary to be
                         * calling file moving operations from inside a an OnGUI call like this. And
                         * maybe it would be a better choice to call SetTheme and update these other vars
                         * from inside of the OnDoxygenFinished callback. But since the callback is static
                         * that would require a little bit of messy singleton instance checking to make sure
                         * the call back was calling into the right functions. I did try to do it that way
                         * but for some reason the file operations failed every time. I'm not sure why.
                         * This is what I was getting from the debugger:
                         *
                         * Error in file: C:/BuildAgent/work/842f9551727e852/Runtime/Mono/MonoManager.cpp at line 2212
                         * UnityEditor.FileUtil:DeleteFileOrDirectory(String)
                         * UnityEditor.FileUtil:ReplaceFile(String, String) (at C:\BuildAgent\work\842f9557127e852\Editor\MonoGenerated\Editor\FileUtil.cs:42)
                         *
                         * Doing them here seems to work every time and the Repaint event check ensures that they will only be done once.
                         */
                        SetTheme(SelectedTheme);
                        DoxygenLog         = DoxygenOutput.ReadFullLog();
                        DoxyoutputProgress = -1.0f;
                        DoxygenOutput      = null;
                        DocsGenerated      = true;
                        EditorPrefs.SetBool(UnityProjectID + "DocsGenerated", DocsGenerated);
                    }
                }
            }
        }
        else
        {
            GUIStyle ErrorLabel = new GUIStyle(EditorStyles.largeLabel);
            ErrorLabel.alignment = TextAnchor.MiddleCenter;
            GUILayout.Space(20);
            GUI.contentColor = Color.red;
            GUILayout.Label("You must set the path to your Doxygen install and \nbuild a new Doxyfile before you can generate documentation", ErrorLabel);
        }
    }