/// <summary>
        /// OnGUI.
        /// </summary>
        void OnGUI()
        {
            mScrollPosition = EditorGUILayout.BeginScrollView(mScrollPosition, new GUILayoutOption[0]);
            for (int i = 0, countI = mPopups.ListPopup.Count; i < countI; i++)
            {
                MyUGUIConfigPopup popup = mPopups.ListPopup[i];

                popup.IsFoldOut = EditorGUILayout.Foldout(popup.IsFoldOut, popup.ID.ToString());
                if (popup.IsFoldOut)
                {
                    EditorGUI.indentLevel++;
                    if (i < mPopups.NumDefault)
                    {
                        EditorGUI.BeginDisabledGroup(i < mPopups.NumDefault);
                        EditorGUILayout.TextField("Script", popup.ScriptName + ".cs", GUILayout.Width(400));
                        EditorGUILayout.TextField("Prefab", popup.PrefabName + ".prefab", GUILayout.Width(400));
                        EditorGUI.EndDisabledGroup();
                    }
                    else
                    {
                        popup.ScriptNameIndex = EditorGUILayout.Popup("Script", popup.ScriptNameIndex, mScriptNames);
                        popup.ScriptName      = mScriptNames[popup.ScriptNameIndex];
                        popup.ScriptName      = popup.ScriptName.Equals("<empty>") ? string.Empty : popup.ScriptName.Substring(0, popup.ScriptName.Length - 3);

                        popup.PrefabNameIndex = EditorGUILayout.Popup("Prefab", popup.PrefabNameIndex, mPrefabNames);
                        popup.PrefabName      = mPrefabNames[popup.PrefabNameIndex];
                        popup.PrefabName      = popup.PrefabName.Equals("<empty>") ? string.Empty : popup.PrefabName.Substring(0, popup.PrefabName.Length - 7);
                    }
                    EditorGUI.indentLevel--;
                }

                if (i < countI - 1)
                {
                    EditorGUILayout.LabelField(string.Empty);
                }
            }
            EditorGUILayout.EndScrollView();

            EditorUtility.SetDirty(mPopups);

            EditorGUILayout.LabelField(string.Empty);
            if (GUILayout.Button("Reset", GUILayout.Width(100)))
            {
                _DeleteAssetFile();
                _LoadAssetFile();
                _UpdateNewPopups();

                Debug.Log("[MyClasses] Data was reset.");
            }
        }
        /// <summary>
        /// Correct values.
        /// </summary>
        private void _CorrectValues()
        {
            mScriptNames = _GetPopupScriptNames();
            mPrefabNames = _GetPopupPrefabNames();

            for (int i = 0, countI = mPopups.ListPopup.Count; i < countI; i++)
            {
                MyUGUIConfigPopup popup = mPopups.ListPopup[i];

                if (popup.ScriptNameIndex >= mScriptNames.Length || !popup.ScriptName.Equals(mScriptNames[popup.ScriptNameIndex]))
                {
                    string scriptName = popup.ScriptName + ".cs";
                    popup.ScriptNameIndex = 0;
                    for (int j = 0; j < mScriptNames.Length; j++)
                    {
                        if (scriptName.Equals(mScriptNames[j]))
                        {
                            popup.ScriptNameIndex = j;
                            break;
                        }
                    }
                }

                if (popup.PrefabNameIndex >= mPrefabNames.Length || !popup.PrefabName.Equals(mPrefabNames[popup.PrefabNameIndex]))
                {
                    string prefabName = popup.PrefabName + ".prefab";
                    popup.PrefabNameIndex = 0;
                    for (int j = 0; j < mPrefabNames.Length; j++)
                    {
                        if (prefabName.Equals(mPrefabNames[j]))
                        {
                            popup.PrefabNameIndex = j;
                            break;
                        }
                    }
                }
            }
        }